【发布时间】:2016-12-12 15:17:57
【问题描述】:
我有一个想要搜索的数组。我找到了一个使用 $,map 的方法,但我无法正常工作。
我的数组是这样生成的:(使用从 MySQL 获取数据的 PHP 循环)
clientList.push = [{'ID' : '1', 'FullName' : 'Company1'}]
clientList.push = [{'ID' : '2', 'FullName' : 'Company2'}]
clientList.push = [{'ID' : '3', 'FullName' : 'Company3'}]
我正在尝试使用以下内容返回 ID = 2 的“FullName”值。这是另一个问题的示例。
var found = $.map(clientList, function(item) {
if (item.ID.indexOf('2') >= 0) {
return item;
}
});
if (found.length > 0) {
alert(found[0].FullName);
}
但是,这不会返回任何内容,并且我没有收到任何 Javascript 错误。
我做错了什么?
【问题讨论】:
-
“我的数组是这样生成的” 我非常怀疑,反正不是在 JavaScript 中。如果确实如此,那么这就是您的问题:分配给
push属性不会添加到数组中。 -
@T.J.Crowder 你能解释一下吗?这就是我生成数组的方式。
-
@T.J.Crowder 感谢您的澄清。我认为 Push 向数组中添加了新项目。
-
indexOf('2')非常值得怀疑。它将匹配 2 和 20。检查是否相等。push将是一个函数,将元素作为参数。当您使用它时,您似乎会尝试将 push 方法替换为 json 内容。 -
@T.J.Crowder 我的目标是将 MySQL 表变成可以搜索的 Jquery 数组。
标签: jquery arrays multidimensional-array