if语句使用每个数组键

时间:2015-02-22 22:30:26

标签: javascript jquery arrays

如何在不手动编写每个密钥的情况下获得以下内容?我希望if语句包含每个colors键。

if (colors[0].val.join() === colors[colors[0].next].orig.join() &&
    colors[1].val.join() === colors[colors[1].next].orig.join() &&
    colors[2].val.join() === colors[colors[2].next].orig.join() &&
    colors[3].val.join() === colors[colors[3].next].orig.join() &&
    colors[4].val.join() === colors[colors[4].next].orig.join())
{ }

我能想到的只有:

colors.forEach(function(k, i) {
    colors[i].val.join() === colors[colors[i].next].orig.join();
});

1 个答案:

答案 0 :(得分:3)

使用.every() method

if (colors.every(function(el) { return el.val.join() === colors[el.next].orig.join(); })) {
    // do something
}
除了IE<

它将适用于所有浏览器。 9。

如果您需要较旧的IE支持,请填充该方法(MDN文档中提供了polyfill)