如果我手动输入数组标识符,它将起作用,但是使用它不会起作用的函数中的参数。我知道问题出在哪里,但不知道我能解决的问题" .key" with,以便它使用参数值。
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"
答案 0 :(得分:1)
您始终可以使用"括号"来访问对象属性。或"数组"符号:
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")
}
}