H5W3
当前位置:H5W3 > 问答 > 正文

数组中的对象是否包含某个键,如果包含则把这个键值对插入其他对象?

list = [ { a: ‘1’, b: ‘2’, c: ‘3’ }, { a: ‘3’, b: ‘5’, c: ‘8’, d: ‘4’ },{ a: ’10’, b: ’20’, c: ’30’ } ];
就是判断有没有d,如果哪一项没有d,则加上d且d的值等于有d的呢一项。

回答

list = [ { a: '1', b: '2', c: '3' }, { a: '3', b: '5', c: '8', d: '4' },{ a: '10', b: '20', c: '30' } ];

var matchedIndex = list.findIndex((item)=>{
    if(item.hasOwnProperty('d')){
        return true;
    }
    
    return false;
});
var resultList = Array.prototype.slice.call(list,0);
if(matchedIndex!==-1){
    var hasDItem = resultList[matchedIndex];
    resultList = list.reduce((resultList,item,index)=>{
        if(index === matchedIndex){
            resultList.push(item);
        }else{
            resultList.push(Object.assign({},item,{
                d:hasDItem.d,
            }));
        }
    },[]);
}

console.log('resultList:',resultList);

未经允许不得转载:H5W3 » 数组中的对象是否包含某个键,如果包含则把这个键值对插入其他对象?

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址