迭代对象并中断

时间:2017-04-13 14:38:30

标签: javascript

我有以下代码:

const locales = {
  RU: 'something here',
  EN: 'something else here',
};

let locale;
for (const [key, value] of Object.entries(locales)) {
  if (key.indexOf('RU') !== -1) {
    locale = value;
    break;
  }
}

然而我正在使用eslint。它抱怨no-restricted-syntax,所以我想知道如何在没有for循环的情况下实现相同的结果(迭代中断)。

欢迎使用ES7。

4 个答案:

答案 0 :(得分:2)

您可以这样做:



const locales = {
  RUSSIAN: 'something here',
  ENGLISH: 'something else here',
};
let locale = locales[Object.keys(locales).find(k => k.indexOf("RU") != -1)];
console.log(locale);




答案 1 :(得分:1)

使用功能并致电return

答案 2 :(得分:1)

您可以使用给定的密钥直接访问。

locale = locales.RU;

或者

var key = 'RU',
    locale = locales[key];

答案 3 :(得分:0)

Use JavaScript's find Function. Something like this:

Object.entries(locales).find((value, key) -> key.indexOf("RU") !== -1);