Хорошо, я пытаюсь скопировать раздел большого массива в массив объектов. Большой массив - это строка из листа google, который представляет данные RMA. Малый массив содержит несколько (схемных) объектов платы. Я читаю 4 элемента из большого массива в каждую «доску». Чтобы прочитать правильный элемент из большого массива, мне нужно увеличить оператор до чтения в новом именованном свойстве в моем объекте в моем маленьком массиве. Если бы я использовал массив для «доски», это было бы легко: создать дополнительный цикл и увеличить индекс на каждой итерации. Но поскольку я использую объект, я не знаю, как это сделать. Я попытался использовать выражение в своем индексе (см. Код). Кроме того, btw все это происходит внутри более крупного объекта, предназначенного для чтения в нескольких строках с листа Google и обработки их. Вот код:Могу ли я использовать выражение как индекс массива в javascript?
board:
[
{
code: "Board Code",
software: "S-Ver",
problem: "Problem",
riu: "RiU",
msqNotes: "MSq Notes"
}
],
grab: function (rowArray, board)
{
rma.timestamp = rowArray[1];
rma.guidelinesAgree = rowArray[2];
rma.expediteyn = rowArray[3];
rma.contact.name = rowArray[4];
rma.contact.coName = rowArray[5];
rma.contact.emailAddr = rowArray[6];
rma.contact.telNum = rowArray[7];
rma.contact.shipAddr = rowArray[8];
var boardArray = rma.createBoardArray();
var boardStartIndex = 9;
for(i = 0; i< 5; i++)
{
var k = i + 1;
board.push()
board[k].code = rowArray[boardStartIndex + 4i]; //prob here
board[k].software = rowArray[boardStartIndex + 4i + 1];
board[k].problem = rowArray[boardStartIndex + 4i + 2];
board[k].riu = rowArray[boardStartIndex + 4i + 3];
board[k].msqNotes = "";
}
Примечание: В редакторе скриптов Google, когда я пытаюсь отладки, я получаю ошибку: «Отсутствующие] в индексном выражении» на строке, которую я назвал здесь «// prob здесь».
Другое примечание: Я использую выражение «k» для индекса, потому что я намеренно инициализировал массив «доска» с помощью платы [0], которая содержит значения заголовка .... Я хочу создать документ google afterword с таблицей, в которой первая строка заполнена заголовками/ярлыками для каждого столбца, и я использую первый объект для хранения этих названий. Раньше я использовал «плату [i + 1] .code =» и т. Д.
ЯВЛЯЕТСЯ ПУТЕМ ИСПОЛЬЗОВАНИЯ ЭКСПРЕССИИ ДЛЯ ИНДЕКСА МАССИВА, КОТОРАЯ КОШЕР В JS?
что означает '4i'? это не действительный идентификатор. –
«i» - это переменная цикла [increment] - см. Инструкцию «for». –
Вы, вероятно, имеете в виду '4 * i'. Вы можете использовать любое произвольное выражение как индекс массива, если это выражение приводит к числу. Также 'board.push()' ничего не делает. Возможно, вы имели в виду 'board.push ({})'. – SpiderPig