javascript - 比较 JavaScript 对象数组属性与字符串

标签 javascript arrays properties compare

您好,我有一个关于我的 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() 的第二个参数传递并不适用对我来说很有意义,而且将返回值与 1 进行比较也没有意义。如果您想要查看搜索文本是否出现在名称开头,您可以这样做:

if (myArray[i].name.indexOf(SearchString) == 0)

关于javascript - 比较 JavaScript 对象数组属性与字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29799936/

相关文章:

javascript - 使用 Sequelize 分页时 SQL 语法错误,但在首页上有效?

javascript - 在文本输入字段上模拟退格键

c - 将输入文本保存到 main 中的结构

c# - 可视化 WPF 控件中的对象属性

java - @Value使用Spring注入(inject) map 的 map ?

javascript - 如何在不使用 :after? 的情况下在 div 上创建三 Angular 形

javascript - 循环 javascript 不起作用

arrays - 数组中数组的排序算法时间复杂度?

php - 如何使用PHP进行SQL的GROUP BY?

user-interface - 使用 WiX 如何根据属性更改禁用/启用控件?