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)})
})