我正在嘗試從下面的物件陣列中提取 id ,到目前為止,我可以嘗試使用下面的代碼,但它顯示 undefined 并且無法獲取 id ,請檢查代碼并調整以獲取 id 嗎?
const array = [{
contact: {
id: 1,
email: '[email protected]',
},
date: '2/4/22'
},
{
contact: {
id: 2,
email: '[email protected]',
},
date: '2/4/22'
}
]
function extractValue(arr, prop) {
let extractedValue = [];
for (let i = 0; i < arr.length; i) {
// extract value from property
extractedValue.push(arr[i][prop]);
}
return extractedValue;
}
const result = extractValue(array, 'contact.id');
console.log(result);
uj5u.com熱心網友回復:
一個很好的方法是Array Map 方法
這將從您的陣列中獲取所有 id
const result = array.map((val) => val.contact.id)
uj5u.com熱心網友回復:
const extractValue = (array, path) => {
const [first, second] = path.split('.')
if (second) return array.map(obj => obj[first][second])
return array.map(obj => obj[first])
}
const res = extractValue(array, 'contact.id')
console.log(res)
// => [ 1, 2 ]
這將支持單層和雙層嵌套結果
uj5u.com熱心網友回復:
function find(val, arr) {
for (let x of arr)
val = val[x];
return val;
}
function extractValue(arr, prop) {
return array.map(x => find(x, prop.split(".")))
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/466176.html
標籤:javascript
