Заменить предыдущей строкой в ??массиве JSON

У меня есть следующий массив в файле JSON, есть ли способ заменить каждый «TODO» на запись над ним. Например, первый «TODO» должен быть «Предыдущий вопрос», а второй - «Следующий вопрос».

   [
      {          
        "englishDefault": "Previous question",
        "default": "TODO"
      },
      {
       "englishDefault": "Next question",
       "default": "TODO"
      }
    ]

javascript,json,regex,

0

Ответов: 2


1 принят

Вот как бы я это сделал:

// with ES6
myArray.filter(i => i.default === "TODO").forEach(i => i.default = i.englishDefault);

//without ES6
for (var i=0; i<myArray.length; i++) {
    var cur = myArray[i];
    if (cur.default === "TODO") { cur.default = cur.englishDefault; }
}

Улучшая ответ @Aaron, вы можете использовать для каждого и троичного оператора.

for each (question in myArray) { question.default == "TODO" ? question.default = question.englishDefault : null; }
JavaScript, JSON, регулярное выражение,
Похожие вопросы