在 JS 中创建一个对象
Creating an object in JS
我有一个 for 循环,它基本上通过类别列表。 每个类别(字符串(都有 4 个不同的项目,可以是真或假。 下面是我的代码片段:
var i,
category,
items,
categories= {};
for (i = 0; i < categories.length; i++) {
category = categories[i];
items = {};
items.first = availableItems[i][0] == true;
items.second = availableItems[i][1] == true;
items.third = availableItems[i][2] == true;
items.fourth = availableItems[i][3] == true;
categories+= { category : items};
}
我想要的是一个类别对象结构,如下所示:
{ category1 : {
first : true,
second : true,
third : false,
fourth : true
},
category2 : {
first : true,
second : true,
third : false,
fourth : false
},
category3 : {
first : true,
second : true,
third : false,
fourth : false
}
}
谁能告诉我我做错了什么?
var result;
for(var i=0;i<availableItems.length;i++){
var index = i+1;
result["category"+index]["first"] = availableItems[i][0] == true
result["category"+index]["second"] = availableItems[i][1] == true
result["category"+index]["third"] = availableItems[i][2] == true
result["category"+index]["fourth"] = availableItems[i][3] == true
}
var category = new Object;
for (i = 0; i < 2; i++) {
category['category' + (i).toString()] = (function() {
var obj = {};
obj.first = true == true;
obj.second = false == true;
return obj;
})();
};
您的代码不起作用,因为 1(您无法使用 .length 属性获取对象的长度,因此categories.length
不起作用。2( 要将成员添加到对象,您可以使用括号表示法:
object['member'] = 'string value';
或点表示法:
object.member = 'string value';
但不是这个:categories+= { category : items};
相关文章:
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 为json对象创建一个动态表
- 用javascript创建另一个对象的实例
- 创建一个类,该类使用es6类语法将Function对象创建为实例
- Mongoose模式:强制创建一个对象数组
- 是否可以创建一个对象,该对象是另一个对象的子集,而不会丢失javascript中的引用
- 有没有一种方法可以创建一个对象并同时为其指定一个动态特性
- javascript创建一个对象来打印数组对象
- 从另一个JSON对象创建JSON对象
- 你能在Javascript中创建一个对象而不声明每个值吗,以及如何
- 如何创建一个对象,其中对象本身是一个函数
- 使用拆分字符串的数组创建一个对象
- 在Javascript中,有没有一种方法可以用一个语句创建一个索引对象数组
- 给定一个对象数组,创建一个函数,该函数返回一个 Object,该 Object 具有按类型分组的路径数组
- 从一个对象创建多个“选择”选项
- 如何在js中使用一个对象创建多个矩形?如何在不同的x轴和y轴上做出它们
- AngularJS/JavaScript从另一个对象创建一个新对象
- 从一个对象创建另一个对象
- 从另一个对象创建一个Object数组
- 在没有javascript的情况下从一个对象创建一个弹出窗口