Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使数组中的数字可以根据编辑进行编辑(删除或添加)_Javascript_Arrays_Mapping_Increment - Fatal编程技术网

Javascript 如何使数组中的数字可以根据编辑进行编辑(删除或添加)

Javascript 如何使数组中的数字可以根据编辑进行编辑(删除或添加),javascript,arrays,mapping,increment,Javascript,Arrays,Mapping,Increment,很抱歉,标题解释得很糟糕(真的不知道还有什么别的说法)。我有一个数组需要一个增量值: const array = [ { name: 'charmander', iv: '13;10;25;24;4;21', lvl: 23, nature: 'Rash', holding: '', mega: false }, { name: 'bulbasaur', iv: '19;18;13;20;27;28', lvl:

很抱歉,标题解释得很糟糕(真的不知道还有什么别的说法)。我有一个数组需要一个增量值:

const array = [
  {
    name: 'charmander',
    iv: '13;10;25;24;4;21',
    lvl: 23,
    nature: 'Rash',
    holding: '',
    mega: false
  },
  {
    name: 'bulbasaur',
    iv: '19;18;13;20;27;28',
    lvl: 17,
    nature: 'Brave',
    holding: '',
    mega: false
  }
];
我想将数组映射到每个数组中都有一个数字的地方,比如:

const array = [
  {
    name: 'charmander',
    iv: '13;10;25;24;4;21',
    lvl: 23,
    nature: 'Rash',
    holding: '',
    mega: false,
    number: 1,
  }];
尽管如此,我在向数组中添加内容时无法插入数字,因为它们可能会被删除或删除,从而留下数字缺口。有什么有效的方法可以做到这一点吗?

//这里是所有数组初始化的地方
//使用简单循环
for(让我进入数组){
数组[i].number=i;
}
//使用foreach
array.forEach((p,i)=>{p.number=i;})
//使用地图
array=array.map((p,i)=>{p.number=i;返回p;});
//动态关联(如果以后需要更改顺序)
//如果对数组进行排序或删除,则会自动更改
//一些元素
array.forEach(p=>{
Object.defineProperty(p,'number',{get:()=>array.indexOf(p)})
})