![](/img/trans.png)
[英]Have an array of objects, need to add new object. How do I check if only one of key: value pairs exist
[英]How can I add only particular key value pairs from one object to another?
認為,
obj1 =
0: {
description: "",
holiday: false,
id: "",
isWeekend: false,
percent: 0,
pmDescription: "",
pmHours: 0,
productivity: 0,
projectName: "rgffgfg",
sowId: "7396",
time: 1591641000000,
userHours: 0,
userName: "hemant tripathi",
wfh: false,
},
1: {
description: "",
holiday: false,
id: "",
isWeekend: false,
percent: 0,
pmDescription: "",
pmHours: 0,
productivity: 0,
projectName: "rgffgfg",
sowId: "7396",
time: 1591641000000,
userHours: 0,
userName: "hemant tripathi",
wfh: false,
}
2: {
description: "",
holiday: false,
id: "",
isWeekend: false,
percent: 0,
pmDescription: "",
pmHours: 0,
productivity: 0,
projectName: "rgffgfg",
sowId: "7396",
time: 1591641000000,
userHours: 0,
userName: "hemant tripathi",
wfh: false,
}
obj2: {}
我只想在 obj2 中添加 3 個鍵值對。 我想循環訪問並訪問 obj1。 並且在 obj2 中只添加 3 個鍵值對('description'、'userHours'、'userName')。我想添加這 3 個鍵值對。 我們怎么能做到這一點?
您可以這樣分配值。
let obj1 = [{ description: "", holiday: false, id: "", isWeekend: false, percent: 0, pmDescription: "", pmHours: 0, productivity: 0, projectName: "rgffgfg", sowId: "7396", time: 1591641000000, userHours: 0, userName: "hemant tripathi", wfh: false, }, { description: "", holiday: false, id: "", isWeekend: false, percent: 0, pmDescription: "", pmHours: 0, productivity: 0, projectName: "rgffgfg", sowId: "7396", time: 1591641000000, userHours: 0, userName: "hemant tripathi", wfh: false, }, { description: "", holiday: false, id: "", isWeekend: false, percent: 0, pmDescription: "", pmHours: 0, productivity: 0, projectName: "rgffgfg", sowId: "7396", time: 1591641000000, userHours: 0, userName: "hemant tripathi", wfh: false, }] let obj2 = [] obj1.forEach(o => { obj2.push({ description: o.description, userHours: o.userHours, userName: o.userName }) }) console.log(obj2)
let obj1= [{
description: "",
holiday: false,
id: "",
isWeekend: false,
percent: 0,userHours: 0,userName: 'Ab'
},
{
description: "",
holiday: false,
id: "",
isWeekend: false,
percent: 0,userHours: 0,userName: 'Abcd'
}];
let obj2 = obj1.map(data => ({description: data.description, userHours: data.userHours, userName: data.userName}));
假設您需要允許來自 object 的某些密鑰,因此您創建一個列表,其中包含您需要的任何密鑰到 map 列表中的接受密鑰。
var acceptedKey=["Id","description","holiday"] for(var key in obj1) { if(acceptedKey.includes(key)) { var newDict=[]; newDict.push(key:key, value:obj1[key]) } }
您可以使用帶有所需鍵的新數組obj2
迭代obj1
和 map。
const obj2 = obj1.map((val) => ({
'userName': val.userName,
'userHours': val.userHours,
'description': val.description,
}))
console.log(obj2)
這會將您的對象數組復制到另一個對象數組中,其中僅包含您想要的鍵。
const source1 = {
key1: "value1_s1",
key2: "value2_s1",
key3: "value3_s1"
// ...
}
const source2 = {
key1: "value1_s2",
key2: "value2_s2",
key3: "value3_s2"
// ...
}
const objArr = [source1, source2]; // ...
const keysToCopy = ["key1", "key2"]; // ...
const destObjArr = objArr.map(o => Object.assign({}, Object.keys(o).reduce((obj, k) => {
if(keysToCopy.includes(k)) obj[k] = o[k];
return obj;
}, {}) ));
console.log(destObjArr);
/* Outputs
[{
key1: "value1_s1",
key2: "value2_s1"
}, {
key1: "value1_s2",
key2: "value2_s2"
}]
*/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.