Я пытаюсь создать массив, как этот:Создать массив смешанных объектов в Javascript
["Apple",{1: "Pie", 2: "Dumpling", 3: "Cider"}, "Banana", {1: "Bread", 2: "Republic"}]
начиная с массива просто:
["Apple", "Banana"]
// <input id="Apple"... data-makes="Pie,Dumpling,Cider">
// <input id="Banana" ... data-makes="Bread,Republic"
var output = [];
var fruits = ["Apple", "Banana"];
for (i=0; i < fruits.length; ++i)
{
members = document.getElementById(fruits[i]).getAttribute("data-makes");
tmp = members.split(",");
for (k=0; k < tmp.length; ++k)
{
output[i][k+1] = tmp[k];
}
}
Все, что я пытался до сих пор либо недопустимый синтаксис, либо делает начальный массив неопределенным.
Вы можете добавить HTML для элементов с 'данных makes' – Andy
@Andy также желаемая массив 1-D, но OP создает 2D array 'output [i] [k + 1] = tmp [k];' – Ramanlfc
Не должен ли результат быть более подобным: ["Apple", ["Pie", "Dumpling", "Cider"], "Banana », [« Хлеб »,« Республика »]] –