Добавить значение массива динамически с определенным индексом?
createObjectDataadd: function(component, event) {
var index = event.getParam("indexVar");
console.log(index);
var RowItemList1 = component.get("v.QuotelinitemList");
RowItemList1.push({
'sobjectType': 'Quote_Line_Item__c',
'Name':'',
'Client_P_N__c': ''
});
RowItemList1.splice(index+1,0,RowItemList1);
// for (var i = index; i <RowItemList1.length; i++) {
// RowItemList1.splice(index+1,0,rowli);
// }
component.set("v.QuotelinitemList", RowItemList1);
//RowItemList1.splice(index-1,0,RowItemList1);
},
Quote_Line_Item__c является объектом. Предположим, у него есть три записи. Каждая запись имеет значение индекса. У каждой записи есть кнопка новой кнопки quote_line_item, на которую она нажимает новую запись строки цитаты в конце массива.
Моя проблема заключается в добавлении в последний индекс. Я хочу добавить его в следующий индекс, где нажата кнопка записи новой цитаты.
Я пробовал много способов, но это не идет.
1 ответ
Для добавления элемента по указанному индексу в массиве вы можете использовать " Array.splice ", как показано ниже. Он принимает 3 аргумента: индекс, количество элементов, которые нужно удалить из этого индекса, новые значения для добавления. Итак, уловка в том, что вы можете передать 0 в качестве второго аргумента, что означает, что вы не хотите удалять какой-либо элемент
let arr = [1,2,3,4]
function addItem(item, index) {
arr.splice(index, 0, item)
}
addItem(10, 1)
console.log(arr)