通过if语句的函数参数传递对象属性

时间:2015-07-19 12:03:19

标签: javascript object parameters

我有一个对象数组。 我需要创建一个函数来返回if语句的特定对象键名。我目前正试图这样做:

<button onclick="isClick('curly_hair')"><u>curly</u></button>

这是我正在尝试的功能:

function isClick(value) {
    for (i = 0; i < People.length; i++) {
        if (People[i].options.value) {
//do stuff
}

这是我的对象数组

var People = [
    {
        name: "Bill",
        img: "images/168-Cool-avatars/256x256_male-avatars_png/avatar-m-small-01.png",
        options: {
            curly_hair: false, long_hair: true, ...
        },
    },

详细说明:而不是需要创建&#34; if&#34;我的每个&#34;选项&#34;的陈述属性(curly_hair,long_hair等)我试图通过函数参数传递它。 如果我传递&#34; isClick(curly_hair)&#34;,我想返回Person数组中具有curly_hair的所有对象:true。

1 个答案:

答案 0 :(得分:0)

由于值是变量,我们可以使用[]代替.运算符尝试这种方式

function isClick(value) {
    for (i = 0; i < People.length; i++) {
        if (People[i].options[value]) {
            //do stuff
        }
}

如果需要,最好还使用过滤器。

function isClick(value) {
      return People.filter(function(obj){
        return !!obj.options[value];
     })
}