在javascript中将值添加到数组中的特定属性(?)

时间:2016-05-04 20:59:34

标签: javascript

我想知道如何在这个数组中为main添加一个值。

var herpderp = {
    "main": ["stuff", "stuff"]
};

所以它看起来像:

var herpderp = {
    "main": ["stuff1", "stuff2", "stuff3"]
};

如果可能的话,我最好从一些字符串中创建这种结构。所以说我有这个

var strings = {"stuff1","stuff2", "stuff3"}
for (each element of strings) {
    what do I do here to get the structure above
}

另一种搜索特定属性上的对象数组的函数。现在我试图用它来过滤数组,也许还有另一种方式?

var arrays = search;
var result = events.filter(function(item) {
    for (var prop in arrays)
        if (arrays[prop].indexOf(item[prop]) == -1)
            return false;
    return true;
});

非常感谢您的回复!

2 个答案:

答案 0 :(得分:0)

herpderp.main是您的数组,因此您可以像这样添加到数组中:

herpderp.main.push(value)

如果数组的键不是有效的变量名(例如,以数字开头),则可以使用括号表示法:

herpderp['123key'].push(value)

答案 1 :(得分:0)

实际上,除了添加新元素之外,您还要更改以前的值。

var herpderp = {
        "main": ["stuff", "stuff"]
};
var strings = ["stuff1","stuff2", "stuff3"];
strings.forEach(function(value,key){
herpderp.main[key] = value;
});
console.log(herpderp);