我有对象数组
var myarray =
[
{
"ID":100,
"Nama":"IPAddress",
"AData":"192.168.11.10"
},{
"ID":101,
"Nama":"Frekuensi",
"AData":"5.X Ghz"
},{
"ID":102,
"Nama":"Type",
"AData":"Access Point"
}
]
我创建了这样的函数搜索数组,基于" ID"像这样
function SearchArrayBasedID(NamaArray, SValue, ReturnKey){
var index1 = -1;
for (var i = 0; i < NamaArray.length; i++) {
if (NamaArray[i].ID == SValue){
index1 = i
i = NamaArray.length;
}
}
var ReturnValue;
if (ReturnKey == 0){
ReturnValue = index1
}else{
ReturnValue = NamaArray[index1].ReturnKey;
}
return ReturnValue
}
它的成功。但如果我将我的功能修改为:
function SearchArray(NamaArray, SKey, SValue, ReturnKey){
var index1 = -1;
for (var i = 0; i < NamaArray.length; i++) {
if (NamaArray[i].SKey == SValue){
index1 = i
i = NamaArray.length;
}
}
var ReturnValue;
if (ReturnKey == 0){
ReturnValue = index1
}else{
ReturnValue = NamaArray[index1].ReturnKey;
}
return ReturnValue
}
它的错误或没有值返回(index1是-1) 请帮我。 我这样称呼这个方法
var a = SearchArrayBasedID(myarray, 100, 0) --> return : 0
var b = SearchArray(myarray, "ID", 100, 0) --> return : -1
答案 0 :(得分:1)
if (NamaArray[i].SKey == SValue){
应该是
if (NamaArray[i][SKey] == SValue){
因为变量作为属性的访问需要括号。