Javascript 按条件向对象的所有条目插入键值对
我有一个带params的函数,我正在做一个forEach循环来添加循环中的所有值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 })); 我还需要添加另一个值,但它是有条件的 然后我做了一个巨
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,()=({})]