#angular #typescript
#angular #typescript
Вопрос:
Я добавляю элементы в массив arr1
с помощью функции map. Есть ли какой-либо способ указать индекс начальной позиции в typescript
например, если я хочу добавить элементы из 3-й индексной позиции массива. первые два индекса должны содержать 0. как я могу это сделать?
let years = [0,1,2,3,4];
data = {
var1: 100000,
arr2: years.map(_ => 1000)
};
console.log(data.arr2);
Я хочу добавить 0 из начала массива. Если я укажу позицию как 3, то первые 2 элемента должны быть равны нулю
Комментарии:
1. Вы знаете, что ваш фрагмент кода не работает? Я не понимаю, что вы хотите сделать.
2. @Florian Извините. Обновлено
Ответ №1:
Вы можете использовать array#map
и для всех значений индекса, меньших, чем желаемый индекс, поместите 0, другие получают значение из вашего массива.
let years = [0,1,2,3,4],
index = 2,
result = years.map((v,i) => i < index ? 0 : v);
console.log(result);
Ответ №2:
Я не уверен, понял ли я, чего вы хотите :
let years = [0,1,2,3,4];
data = {
var1: 100000,
arr2: modifyArray(3, 100000)
};
console.log(data.arr2);
function modifyArray(position = 0, value) {
const newArray = [];
for (let i = 0; i < position - 1; i ) {
newArray.push(0);
}
return [...newArray, ...years.slice(0, position ), value, ...years.slice(position)];
}