将 JavaScript 对象数组 属性 与字符串进行比较
Compare JavaScript Object-Array Property with String
你好,我有一个关于我的 javascript 数组的快速问题:
var firstrecord = {
name: 'Luca',
age: '19'
};
var secondrecord = {
name: 'Hans',
age: '25'
}
var myArray = [];
myArray.push(firstrecord,secondrecord);
好的,现在我有一个 var SearchString = "Lu"
。
我会做什么:
for (var i = 0; i < myArray.length; i++) {
if (myArray[i].[name].IndexOf(SearchString, i)) != 1){
return myArray[i];
}
}
但这不起作用。这个问题有什么解决办法吗?
更新:indexOf != IndexOf
自我提醒.. 在滥用这些功能之前,首先要查找这些功能的使用。 :)
这里有两个错误:
if (myArray[i].[name].IndexOf(SearchString, i)) != 1){
首先是.indexOf()
,小写"i"。其次,您只需要 .
和 [ ]
:
中的一个即可
if (myArray[i].name.indexOf(SearchString, i)) != 1)
现在,我不知道你想在这里做什么,但是将 i
作为 .indexOf()
的第二个参数传递对我来说意义不大,并且将 return 值与 1
进行比较也不行。如果您想做的是查看搜索文本是否出现在名称的开头,您可以这样做:
if (myArray[i].name.indexOf(SearchString) == 0)
你好,我有一个关于我的 javascript 数组的快速问题:
var firstrecord = {
name: 'Luca',
age: '19'
};
var secondrecord = {
name: 'Hans',
age: '25'
}
var myArray = [];
myArray.push(firstrecord,secondrecord);
好的,现在我有一个 var SearchString = "Lu"
。
我会做什么:
for (var i = 0; i < myArray.length; i++) {
if (myArray[i].[name].IndexOf(SearchString, i)) != 1){
return myArray[i];
}
}
但这不起作用。这个问题有什么解决办法吗?
更新:indexOf != IndexOf 自我提醒.. 在滥用这些功能之前,首先要查找这些功能的使用。 :)
这里有两个错误:
if (myArray[i].[name].IndexOf(SearchString, i)) != 1){
首先是.indexOf()
,小写"i"。其次,您只需要 .
和 [ ]
:
if (myArray[i].name.indexOf(SearchString, i)) != 1)
现在,我不知道你想在这里做什么,但是将 i
作为 .indexOf()
的第二个参数传递对我来说意义不大,并且将 return 值与 1
进行比较也不行。如果您想做的是查看搜索文本是否出现在名称的开头,您可以这样做:
if (myArray[i].name.indexOf(SearchString) == 0)