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

标签 javascript

javascript中有没有什么方法可以修改数组值。我已经通过使用 for 循环 完成了此操作,并且还有另一个方法调用 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.

最佳答案

map是你的 friend 吗:

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

或者没有 ES2016 :

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

关于javascript - 不使用循环修改数组内的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35180739/

相关文章:

javascript - 如何知道异步函数何时完成

javascript - 如何定位数组中的负数,以获得所有正数的总和?

javascript - Gulp-babel 在观看时不会转译

JavaScript 图形在 Android Web View 中不可见

javascript - 将可点击的坐标图像更改为 css

javascript - 将 jQuery 与 'use strict' 结合使用的正确方法是什么?

javascript - Angular1.5 的哪个路由器?

javascript - 拒绝加载字体 'data:font/woff.....' 它违反了以下内容安全策略指令 : "default-src ' self '". Note that ' font-src'

javascript - 找到行中的数字。 JavaScript

javascript - 选中单选按钮时如何向下滑动div