鍍金池/ 問(wèn)答/HTML/ 如何在數(shù)組中通過(guò)對(duì)象key值查找對(duì)象

如何在數(shù)組中通過(guò)對(duì)象key值查找對(duì)象

假設(shè)我有一個(gè)數(shù)組:

const info = [
    {name:'名字'},
    {description:'說(shuō)明'},
];

我創(chuàng)建了一個(gè)處理這樣的數(shù)組的組件,類似如下:

function arrayMap(arr) {
    return arr.map((item) => {
        if (item.name) {
            return item.name;
        }
    });
}

我調(diào)用arrayMap(info)之后就會(huì)輸出info這個(gè)數(shù)組里面name的值,也就是'名字'。
這個(gè)組件只能輸出數(shù)組里面對(duì)應(yīng)name的值,不能輸出description的值。
我想要改一下這個(gè)組件,讓他能夠多一個(gè)參數(shù),調(diào)用時(shí)可以自由選擇輸出的key值。
調(diào)用arrayMap(arr, key)時(shí),arr是輸入的數(shù)組,key是輸入的key值,讓這個(gè)組件能夠自由輸出name或者description的值,該怎么辦呢?

最后修改方案:

function arrayMap(arr, key) {
    return arr.map((item) => {
        if (item[key]) {
            return item[key];
        }
    });
}

arrayMap(info, 'name'); //"名字"
arrayMap(info, 'description'); //"說(shuō)明"
回答
編輯回答
別瞎鬧

為什么不直接,info.description 呢,,,

const info = {
    name: '名字',
    description: '說(shuō)明'
};

function arrayMap(arr, key) {
    return arr[key];
}

console.log(arrayMap(info,'name'));//名字
2017年7月27日 11:29
編輯回答
吢丕

就事論事的話,直接把item.name改成item && item[key]就完了。

2017年5月16日 10:44