将对象推入对象列表对象
Push an object into the object list object
这是有史以来最简单的问题,我还没有找到正确的答案。
获取对象列表:object_list = {}
得到的对象:object_x = {...}
如何将object_x
添加到object_list[objects_x]
?
我尝试过:object_list[objects_x][object_list[objects_x].length] = object_x
,但object_list[objects_x].length
未定义。
push()
也不起作用。
我真的需要为此定义外部计数器吗?
请不要说我指的是对象列表。注意objects_x
和object_x
之间的差异
没有一个简单的解决方案可以像PHP中那样简单地使用$array['something'][] = $somedata
?
object_list['object_x'] = object_x;
// or
object_list.object_x = object_x;
console.log(object_list.object_x === object_list['object_x'])
如何使用对象-https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects
当您创建像var stuff = {}
这样的变量时,您正在创建一个空的对象文字,它除了从Object
继承的属性外,没有其他属性(属性或方法)。如果要将存储在该对象的各种列表中的对象保留在该对象中,则需要首先创建这些列表。
var stuff = { shelves: [], selectors: [], images: [], additional: [] };
现在,您可以随心所欲地向这些列表中添加任何您想要的内容。
var image = { src: '/path/to/image.jpg' };
stuff.images.push(image);
只要在stuff
上设置新属性,就可以随时向stuff
添加更多列表。
stuff.some_other_list = []
希望能有所帮助。
您的基本假设是错误的。
此:
var object_list = {}
是否不是列表。它不是一个数组,不能通过索引引用它的项,因此它也没有.length
属性。
你想要的是一个简单的数组:
var object_list = [];
现在你可以把项目推到里面了:
object_list.push(object_x);
编辑:根据你的评论和编辑,我认为你真正想要的是几个辅助功能:
function AddToList(list, item) {
var counter = 0;
for (var key in list)
counter++;
var key = "item_index_" + counter;
list[key] = item;
}
function GetItemByIndex(list, index) {
var counter = 0;
var existingKey = "";
for (var key in list) {
if (counter == index) {
existingKey = key;
break;
}
counter++;
}
return (existingKey.toString().length > 0) ? list[existingKey] : null;
}
有了这些,你现在就可以有这样一个代码:
var mainList = {};
var newItem = { "foo": "bar" };
AddToList(mainList, newItem);
var dummy = GetItemByIndex(mainList, 0)["foo"]; //will contain "bar"
实时测试用例。
如果你感兴趣的是使用对象,而不是数组,你可以这样使用:
var object_list = {};
var object_x = {'prop1':'val1'};
// add object
object_list.myobj = object_x;
// for access, same scheme.
object_list.myobj.prop1 = 'valX';
// for loop thru
for (var key in object_list) {
var obj = object_list[key];
obj.prop1 = 'valY';
}
- 如何使用json将对象列表从java转换为javascript
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- 如何从类关系中检索对象列表
- 从Javascript动态构建JSON对象列表
- 如何在JSP中对对象列表进行排序
- 什么'是从对象列表中一次编辑一个对象的正确Angular/Firebase方法
- 无法将对象列表从视图模型设置为 javascript 变量
- 如何将对象插入对象列表的开头,当它有 unshift 不是函数错误
- 下划线,将对象列表转换为对象值数组
- 以有效的方式搜索对象列表 mongo
- 如何将对象列表传递到MVC4中的控制器方法
- 为什么更改对象列表中的类名会将iten从列表中删除
- 遍历对象列表
- 将JSON对象列表传递给操作
- 如何从控制器返回对象列表并使用JQuery(SpringMVC,ajax)显示它们
- 从jQuery数组或元素的对象列表中选择第N个项目
- 将jsp对象列表分配给javascript数组
- Javascript:将对象列表转换为关联数组