Javascript 不使用循环修改数组内的对象

Javascript 不使用循环修改数组内的对象,javascript,Javascript,javascript中是否有任何方法可以修改数组值。我已经通过使用for loop完成了这项工作,还有另一个方法调用forEach。我想只用一行就可以完成。就像我看到过使用array.prototype.slice将onject转换为数组的代码一样。因此,我们可以通过使用类似的函数来完成需求。我用谷歌搜索了一下,但没有找到任何相关的帖子 this.gome = (function(data){ for(var i=0;i<data.length;i++){

javascript中是否有任何方法可以修改数组值。我已经通过使用
for loop
完成了这项工作,还有另一个方法调用
forEach
。我想只用一行就可以完成。就像我看到过使用
array.prototype.slice
将onject转换为数组的代码一样。因此,我们可以通过使用类似的函数来完成需求。我用谷歌搜索了一下,但没有找到任何相关的帖子

this.gome = (function(data){
        for(var i=0;i<data.length;i++){
          data[i].id = i
        }
        return data })(data.gome);

this.gome = Array.prototype.slice.call(data.gome,//code) // something like that.
this.gome=(函数(数据){
因为(var i=0;i是你的朋友:

this.gome = data.gome.map((x, i) => ({...x, id: i}));
或无ES2016:

this.gome = data.gome.map((x, i) => Object.assign({}, x, {id: i }));

这将用一行添加值,但仍然是for循环

for(var i = 0, l = data.length; i<l; i++){ data[i].id = i };

for(var i=0,l=data.length;i
forEach
到底怎么了?这里应该很完美。通过使用slice,您只需要数组的一部分吗