鑑於數據如:列出包含給定字符串的鍵?
var people = [
{ 'myKey': 'John Kenedy', 'status': 1 },
{ 'myKey': 'Steeven Red', 'status': 0 },
{ 'myKey': 'Mary_Kenedy', 'status': 3 },
{ 'myKey': 'Carl Orange', 'status': 0 },
{ 'myKey': 'Lady Purple', 'status': 0 },
... // thousands more
];
如何有效地獲取包含在myKey
字符串Kenedy
所有對象的列表?
注:我目前使用str.search()
:
搜索( 「STR」)返回匹配的位置。如果找不到匹配,則返回-1。
做如下:
var map_partial_matches = function(object, str){
var list_of_people_with_kenedy = [] ;
for (var j in object) {
if (object[j]["myKey"].search(str) != -1) {
object[j].presidentName = "yes"; // do something to object[j]
list_of_people_with_kenedy.push({ "people": object[j]["myKey"] }); // add object key to new list
}
} return list_of_people_with_kenedy;
}
map_partial_matches(people, "Kenedy");
我能做到使用str.match()
相同:
str.match()
返回比賽,作爲一個數組對象。如果找不到匹配,則返回null
。
它可以工作,但我不知道它是否有效或完全轉儲。
這不是JSON。這是一個對象文字的JavaScript數組。 – 2014-09-12 16:22:41
只是一個方面說明:如果你想使用一個庫,linq.js是非常好,快! http://linqjs.codeplex.com/ – 2014-09-12 16:22:46
這個問題似乎是脫離主題,因爲它更適合http://codereview.stackexchange.com/ – 2014-09-12 16:24:26