js forEach()为一个对象列表添加不同的属性

有一个简单的需求,为下面的一个列表中各个对象增加一个属性,为第一个对象增加choiced = true,其余增加choiced = false

简单摸索下如下:

var demo = [{order: 1, name: '哈哈哈'}, {order: 10, name: '李四'}, {order: 9, name: '王五'}, {order: 2, name: '赵六'}]	
demo.forEach((e, index)=>{index==0?e['choiced']=true:e['choied']=false})
console.log(demo)

经过测试,forEach()可接受3个参数,用python思维来理解的话,三形参均为位置参数,拿上面的案例来学习。

demo.forEach((item, index, obj) => {//do something})
  • 第一个参数item
    是demo中的每个循环项,即demo中的每个对象

  • 第二个参数index
    item的索引

  • 第三个参数obj
    第三个参数就比较有意思了,居然是demo本身

如果只提供一个参数,那就是循环项本身,如果提供两个参数,那就是循环项本身和它的索引。

这个学习来自写小程序碰到的问题研究而来的。

js forEach()为一个对象列表添加不同的属性_第1张图片

你可能感兴趣的:(JAVASCRIPT,小程序,js)