首页 > 解决方案 > 有没有办法在仅向该对象添加值时增加对象中的编号键

问题描述

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

function addItem(item) {
  let obj = {}

  obj[key] = item
}

应该返回{1 : item, 2: item}等等

谢谢

标签: javascriptfunctionobject

解决方案


你真的想为此使用一个数组,然后将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();


推荐阅读