当只向对象添加值时,有没有一种方法可以增加对象中的编号键



每次向函数传递新项时,如何将对象中的键增加1。尝试过每次将计数增加1,但没有成功

function addItem(item) {
let obj = {}
obj[key] = item
}

应在上返回{1 : item, 2: item}

感谢

您真的想为此使用一个数组,然后向其中push个新项。

但是,如果你真的想要一个有编号键的对象,你可以调用一个跟踪计数的闭包。

数组是更好的选择。

function add(obj = {}) {
let count = 1;
return {
add: function(item) {
obj[count] = item;
count++;
},
view: function () {
console.log(obj);
}
}
}
const addItem = add();
addItem.add({ tricky: 'Bristol' });
addItem.add({ pob: 12 });
addItem.view();

我建议使用一个数组,它基本上是一个以连续数字作为键的对象。

如果要使用对象,可以使用count和函数范围外的对象,并在每次添加对象时递增计数。

let count = 1;
let obj = {}
function addItem(item) {
obj[count++] = item
}
addItem({"name": "john"});
addItem({"pet": "dog"});
addItem({"age": "19"});
console.log(obj);

最新更新