Javascript 如何将数组转换为对象
我有一个简单的数组,我需要按照以下顺序将其转换为一个对象,目标是生成一个包含2到3列的矩阵Javascript 如何将数组转换为对象,javascript,Javascript,我有一个简单的数组,我需要按照以下顺序将其转换为一个对象,目标是生成一个包含2到3列的矩阵 array1=[“A”、“B”、“C”、“D”、“E”、“F”] 或 array1=[“A”、“B”、“C”、“D”、“E”、“F”、“G”] 我需要一个像这样的东西 new = [ { "name: A", "name2: B" }, { "name: C", "name2: D" }, { "
array1=[“A”、“B”、“C”、“D”、“E”、“F”]
或
array1=[“A”、“B”、“C”、“D”、“E”、“F”、“G”]
我需要一个像这样的东西
new = [
{
"name: A",
"name2: B"
},
{
"name: C",
"name2: D"
},
{
"name: E",
"name2: F"
},
{
"name: G"
},
]
和3
new = [
{
"name: A",
"name2: B",
"name3: C"
},
{
"name: D",
"name2: E",
"name3: F"
},
{
"name: G",
"name2: H",
"name3: I"
},
{
"name: J",
"name2: K"
},
]
谢谢正如评论所指出的,我想你对自己到底需要什么感到困惑——你所描述的只是一个多维数组,而不是一个对象。只要在谷歌上搜索这个词,你就会在网上找到很多信息 对于您的特定示例,以下是如何使用两个for循环来完成此操作:
array1 = ["A", "B", "C", "D", "E", "F", "G"];
makeGrid(array1, 2);
makeGrid(array1, 3);
function makeGrid(array, step) {
const grid = [];
for (i = 0; i < array.length; i+= step) {
const tmp = [];
for (j = 0; j < step && array[i + j]; j++) {
tmp.push(array[i+j]);
}
grid.push(tmp);
}
console.log(grid);
}
array1=[“A”、“B”、“C”、“D”、“E”、“F”、“G”];
makeGrid(array1,2);
makeGrid(阵列1,3);
函数makeGrid(数组,步骤){
常量网格=[];
对于(i=0;i
您可以对数组进行切片,直到没有更多值可用为止。使用所需长度的切片数组,可以生成具有给定名称和数字的新对象
函数getGrouped(数组、大小、键){
var结果=[],
i=0;
while(i({[key+i]:v}));
}
返回结果;
}
log(getGrouped([“A”、“B”、“C”、“D”、“E”、“F”、“G”]、2,‘name'));
log(getGrouped([“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”、“I”]、3,“name”)代码>
.as控制台包装{max height:100%!important;top:0;}
这些对象不是有效的JS对象。您想要的结果无效。javascript使用括号表示数组。顺便说一句,你试过什么?你的数据来自哪里?我做了一点修改,这是不可能在一个对象中为不同的值使用相同的键的。