我想根據物件內部的屬性復制陣列中的整個物件。我需要根據拆分的電子郵件在提名中復制物件。
例如
array = [
{
id:1,
name: ravi,
nominations: xyz@gmail.com, abc@gmail.com
},
{
id:2
name: ramu,
nominations: 123@gmail.com, 456@gmail.com
}
]
需要輸出之類的
Output_array = [
{
id:1,
name: ravi,
nominations: xyz@gmail.com
},
{
id:1,
name: ravi,
nominations: abc@gmail.com
},
{
id:2
name: ramu,
nominations: 123@gmail.com
},
{
id:2
name: ramu,
nominations: 456@gmail.com
}
]
uj5u.com熱心網友回復:
最簡單的方法是先flatMap檢查專案,然后再map檢查提名。
const data = [{
id:1,
name: "ravi",
nominations: "[email protected], [email protected]"
},
{
id:2,
name: "ramu",
nominations: "[email protected], [email protected]"
}];
const result = data.flatMap(item => {
return item.nominations.split(", ").map(email => ({
id: item.id,
name: item.name,
nomination: email
}))
})
console.log(result)
uj5u.com熱心網友回復:
使用回圈的一種非常簡單的方法:
let data = [
{
"id": 1,
"name": "ravi",
"nominations": "[email protected],[email protected]"
},
{
"id": 2,
"name": "ramu",
"nominations": "[email protected],[email protected]"
}
];
let newData = []
for (let element of data) {
let emailIds = element.nominations.split(",");
if (emailIds.length > 1) {
for (let emailId of emailIds)
newData.push({ id: element.id, name: element.name, nominations: emailId })
}
}
console.log(newData)
說明:從遍歷整個物件開始,在每個物件中分割nominations字串并用“,”分割它以檢查是否有不止一封電子郵件。如果確實存在,則運行回圈以單獨添加它們。
uj5u.com熱心網友回復:
這可以通過可以說很長的單襯紙來完成。Object.assign函式可用于在更改感興趣的屬性/屬性的同時復制輸入物件。
let input = [{
id: 1,
name: `ravi`,
nominations: `[email protected], [email protected]`
},
{
id: 2,
name: `ramu`,
nominations: `[email protected], [email protected]`
}];
let output = input.flatMap(i => i.nominations.split(",").map(n => Object.assign({}, i, { nominations: n.trim() })));
console.log(output);
uj5u.com熱心網友回復:
你可以試試這個代碼:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
var data_array = [
{
id:'1',
name: 'ravi',
nominations: '[email protected], [email protected]',
},
{
id:'2',
name: 'ramu',
nominations: '[email protected], [email protected]',
},
];
var output_array = data_array.flatMap(key => {
return key.nominations.split(",").map(split_email => ({
id: key.id,
name: key.name,
nomination: $.trim(split_email)
}))
});
console.log(output_array);
});
</script>
</head>
<body>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/381762.html
標籤:javascript 查询 有角的 打字稿
下一篇:角度材料進度條沒有被呼叫
