Javascript 无法在ID中设置为未定义的值

Javascript 无法在ID中设置为未定义的值,javascript,Javascript,当我尝试在foor循环中添加值时,Hello出于某种原因总是给我错误,以下是我的函数: var productIds = [1,2,3,4,5]; var products = {}; for (i = 0; i < productIds.length; ++i) { products[i]['id'] = id; } 用这种方法编写代码- var productIds=[1,2,3,4,5]; var乘积={}; 对于(i=0;i

当我尝试在foor循环中添加值时,Hello出于某种原因总是给我错误,以下是我的函数:

var productIds = [1,2,3,4,5];

var products = {};  
for (i = 0; i < productIds.length; ++i) {

    products[i]['id'] = id;
}

用这种方法编写代码-

var productIds=[1,2,3,4,5];
var乘积={};
对于(i=0;i控制台日志(产品)
您可以将
产品[i]
设置为
for
循环中的新对象,如下所示:

products[i] = {};
products[i]['id'] = id;
或者,以内联方式添加对象,如:

products[i]= { 'id': id };
或者,只需使用对象属性速记,如:

products[i]= { id };
演示:

var productIds=[1,2,3,4,5];
var乘积={},id=2;
对于(i=0;i
.as控制台包装{最大高度:100%!重要;顶部:0;}
var productIds=[1,2,3,4,5];
var乘积={};
productId.forEach(项目=>{
var id_available=产品中的项目
如果(!id_可用){
产品[项目]={id:item}
}否则{
产品[item]。id=item
}
})
console.log(产品)
试试这个

 var productIds = [1,2,3,4,5];
 var products = {};  
 for (i = 0; i < productIds.length; ++i) {
    products[i]={"id":productIds[i]};
 }
var productIds=[1,2,3,4,5];
var乘积={};
对于(i=0;i
这应该对你有用。

注意:产品参数数据作为对象数据使用。

您必须首先使用对象值初始化
产品[i]
。对象不会神奇地出现。在
products[i]={}
之前添加
products[i]['id']=id或只做
产品[i]={id}
products[i]={id:id}
(无论
id
在这里是什么)。@FelixKling我想不是每个人都是js背景的,因为我大部分时间都在php中工作,在php中它神奇地实现了com…@Marcoperera这可能是公平的,但如果你使用另一种语言,用这种新的语言研究事物是如何运作的将是有益的。
 var productIds = [1,2,3,4,5];
 var products = {};  
 for (i = 0; i < productIds.length; ++i) {
    products[i]={"id":productIds[i]};
 }