Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用变量/参数作为数组标识符_Javascript_Arrays - Fatal编程技术网

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

Javascript 使用变量/参数作为数组标识符,javascript,arrays,Javascript,Arrays,如果我手动输入数组标识符,它将工作,但是使用函数中的参数它将不工作。我知道问题在哪里,但不知道我可以用什么替换“.key”,以便它使用参数值 var stuff = [ { "name": "Alex", "food": "Pizza"}, { "name": "Karl", "food": "Lasagne"}, { "name": "Franz", "food": "Potato salad"} ] function getSpecificValue(key, value, getk

如果我手动输入数组标识符,它将工作,但是使用函数中的参数它将不工作。我知道问题在哪里,但不知道我可以用什么替换“.key”,以便它使用参数值

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")
    }
}
您正在寻找“括号符号”,请参见此处,好的,如果(arr[i][key]==value){return arr[i][getkey];}谢谢,如果不是注释,我会接受您的答案;)谢谢:)@elclanrs的评论已经为我提供了我想要的东西。但我会接受你的回答,因为任何人可能会偶然发现这一页。