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

Pass object property through function parameter for if statement

我有一组对象。 我需要创建 1 个函数,该函数 returns 是 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, ...
        },
    },

详细说明:无需为我的每个 "option" 属性(curly_hair、long_hair 等)创建 "if" 语句,我正在尝试而是通过函数参数传递它。 如果我传递 "isClick(curly_hair)",我想 return Person 数组中具有 curly_hair 的所有对象:true.

因为 value 是一个变量,我们可以使用 [] 而不是 . 运算符尝试这种方式

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];
     })
}