#javascript #arrays #for-loop
#javascript #массивы #for-цикл
Вопрос:
У меня есть два массива, первый содержит два числа, а второй 12 значений.
firstArray = [0, 6];
secondArray = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
Я хочу взять номера первого массива и проверить, совпадает ли индекс второго массива, а затем изменить значение совпадающих.
В этом случае вывод будет
secondArray = ["blank", "February", "March", "April", "May", "June", "blank", "August", "September", "October", "November", "December"];
Я пытался выполнить цикл for для получения значений в firstArray, но я получаю индексы, а не значение
for (let i = 0; i < this.state.lastIndex.length; i ) {
}
hay
Как я могу это сделать?
Есть ли какой-либо способ сделать его более прямым, чем с помощью for-цикла?
спасибо за вашу помощь
Комментарии:
1. » Есть ли какой-нибудь способ сделать это более прямым, чем с помощью цикла for? » если у вас есть только два элемента в первом массиве, тогда вы можете просто сделать
secondArray[firstArray[0]]
иsecondArray[firstArray[1]]
2.
secondArray[firstArray[0]] = "blank"
иsecondArray[firstArray[1]] = "blank"
Ответ №1:
Для oneliner вы можете использовать map из Array.prototype
:
secondArray = secondArray.map((element, index) => firstArray.includes(index) ? "blank" : element )
Пожалуйста, обратите внимание, что функция map возвращает новый массив вместо изменения исходного.
Редактировать: удалены избыточные return
и фигурные скобки вокруг тела функции со стрелкой
Комментарии:
1. спасибо, это идеальное решение для того, что я искал!!
Ответ №2:
firstArray.map(e=>{if(secondArray[e]){secondArray[e]=»пустой»}})
Ответ №3:
firstArray = [0, 6];
secondArray = ["January", "February", "March", "April", "May", "June", "July","August", "September", "October", "November", "December"];
for(let i = 0; i < firstArray.length; i ) {
secondArray[firstArray[i]]="blank";
}
console.log(secondArray);
PS: Все, что вам нужно сделать, просто перебрать первый массив и обновить значения второго массива по индексу