我在数组中有下面的对象。 迭代时,我需要在循环中访问特定的属性。我能够获取基本属性,但无法获取嵌套的属性值。
let data = [{
id:"0",
value:{
empId:"123",
emp_type:"perm",
schedule:{
abcSchedule:{cron_str: "0 13 * * 0,3,4,5,6"}
}
}
}];
var newMap = data.map(({ idx: i, value: { empId, emp_type, /*cron_str ? how to get */ } }) => console.log(emp_type));
在地图中借助解构方法如何获取cron_str。如果未提供任何值,则应具有默认值。
答案 0 :(得分:2)
您可以使用{value:{schedule:{abcSchedule:{cron_str}}}}
:
let data = [{
id: "0",
value: {
empId: "123",
emp_type: "perm",
schedule: {
abcSchedule: {
cron_str: "0 13 * * 0,3,4,5,6"
}
}
}
},
{
id: "1",
value: {
empId: "1234",
emp_type: "merm",
schedule: {
abcSchedule: {
}
}
}
},
{
id: "2",
value: {
empId: "1235",
emp_type: "mtermerm",
schedule: {
abcSchedule: {
cron_str: null
}
}
}
},
{
id: "3",
value: {
empId: "12356",
emp_type: "apple",
schedule: {
abcSchedule: {
cron_str: undefined
}
}
}
}
];
var newMap = data.map(({
value: {
empId,
emp_type,
schedule: {
abcSchedule: {
cron_str
}
}
}
}) => console.log(empId, cron_str));
答案 1 :(得分:1)
var newMap = data.map(({ idx: i, value: { empId, emp_type, schedule: { abcSchedule: { cron_str }}} }) => console.log(emp_type, cron_str));
就像您对value
所做的那样进行破坏。