Javascript 按条件向对象的所有条目插入键值对

Javascript 按条件向对象的所有条目插入键值对,javascript,jquery,arrays,object,ecmascript-6,Javascript,Jquery,Arrays,Object,Ecmascript 6,我有一个带params的函数,我正在做一个forEach循环来添加循环中的所有值 const data = (sd) => Object.entries(obj).map(([k, g]) => ({ ['name']: k, ['data']: g.map(entry => entry[sd]), ['type']: sd })); 我还需要添加另一个值,但它是有条件的 然后我做了一个巨

我有一个带params的函数,我正在做一个forEach循环来添加循环中的所有值

const data = (sd) => Object.entries(obj).map(([k, g]) => ({
            ['name']: k,
            ['data']: g.map(entry => entry[sd]),
            ['type']: sd
        }));
我还需要添加另一个值,但它是有条件的

然后我做了一个巨大的设置

让arr=['abc','xyz']

let x = [];
arr.forEach(y => {
  x = [...x, ...data(y)];
});
console.log(x);
我还想向
数据添加另一个键值对
,然后
arr
元素是
xyz


我想添加
['id']:k
,但仅当
arr
elem是
xyz
时才添加,然后将其推到
x

这只是一个示例,说明如何在数据中使用条件键值

//尝试编辑消息
常量数据=[1,2,3,4,5]
const data2=data.map(项=>{
设预定义={
价值:项目,,
};
如果(item==2)预定义了.id=item;
返回预定义的;
})

console.log(data2)
您是否尝试过
if
或三元函数?我尝试过,但我不知道如何添加
k
。我试着把它添加到forEachI中,明白你的意思了。您可以修改
data
函数以有条件地添加属性,也可以让
data
使用可选函数有条件地添加属性我该如何做?类似于
const data=(sd,extraProperties)=>。。。Object.entries(obj.map)([k,g])=>({…extraProperties(k,g),name:k})
然后您可以在数据中写入
[…x,…(y=='xyz'?数据(y,(k,g)=>({id:k})):数据(y,()=({})]