使用变量/参数作为数组标识符

Use variable/parameter as array identifier

本文关键字:数组 标识符 参数 变量      更新时间:2023-09-26

如果我手动输入数组标识符,它将工作,但是使用函数中的参数它将不工作。我知道问题在哪里,但不知道我能替代什么。"键",这样它就会使用参数值。

var stuff = [
 { "name": "Alex", "food": "Pizza"},
 { "name": "Karl", "food": "Lasagne"},
 { "name": "Franz", "food": "Potato salad"}
]
function getSpecificValue(key, value, getkey, arr) {
    for (var i=arr.length;i--;) {
        if (arr[i].key == value) { //this should use the parameter "key" ("name")
            return arr[i].getkey; //this should use the parameter "getkey" ("food")
        }
    }
}
alert( getSpecificValue('name', 'Alex', 'food', stuff) ); //alert "Pizza"

始终可以使用"括号"或"数组"表示法访问对象属性:

for (var i=arr.length;i--;) {
    if (arr[i][key] == value) { //this should use the parameter "key" ("name")
        return arr[i][getkey]; //this should use the parameter "getkey" ("food")
    }
}