如何选择具有特定值的数组元素并执行函数javascript

时间:2012-08-18 20:52:33

标签: javascript

我有一个内部有几个项目的数组,其中一个是位置。这些位置中的一些是空的,没有任何值。我想带走每个空位并执行一个功能。有谁知道怎么做?

数组可能如下所示:

array=[{user:a,user_id:b,date:c,profile_img:d,text:e,contentString:f,url:g,location:""},    
{user:a,user_id:b,date:c,profile_img:d,text:e,contentString:f,url:g,location:""}];

3 个答案:

答案 0 :(得分:0)

简单的for循环应该有效:

for (var i = 0; i < array.length; i++) {
    if (array[i].location.length == 0) {
        //Do something with array[i]
    }
}

答案 1 :(得分:0)

虽然你可以写一个循环,但它更容易使用Underscore.js,它具有很棒的过滤功能。

只需编写测试即可返回空位的用户。

var allUsers = [{
    user: "user-with-location",
    user_id: "b",
    date: "c",
    profile_img: "d",
    text: "e",
    contentString: "f",
    url: "g",
    location: "asdf"
}, {
    user: "user-without-location",
    user_id: "b",
    date: "c",
    profile_img: "d",
    text: "e",
    contentString: "f",
    url: "g",
    location: ""
}];

var usersWithoutLocation = _.filter(allUsers, function(user) {
    return user.location === "";
});

答案 2 :(得分:0)

作为提示,您可以simplify the value check

for (var i = 0; i < array.length; i++) {
  if (!array[i].location) {
    //Do something with array[i]
  }
}