我有一个简单的数组,我需要按以下顺序将其转换为对象,目标是制作2 o 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"
},
{
"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"
},
]
谢谢
答案 0 :(得分:0)
正如评论所表明的,我认为您对真正需要的东西感到困惑–您所描述的只是多维数组,根本不是对象。只需搜索该词,您就会在网上找到大量信息。
对于您的特定示例,可以通过以下两个for循环来做到这一点:
location / {
root /var/www/html/recipetube-client/build;
try_files $uri /index.html;
}
location /admin {
root /var/www/html/recipe-tube-admin/build;
try_files $uri /index.html;
}
答案 1 :(得分:0)
您可以对数组进行切片,直到没有更多可用值为止。使用具有所需长度的切片数组,您可以生成具有给定名称和数字的新对象。
function getGrouped(array, size, key) {
var result = [],
i = 0;
while (i < array.length) {
result.push(Object.assign(...array.slice(i, i += size).map((v, i) => ({ [key + i]: v}))));
}
return result;
}
console.log(getGrouped(["A", "B", "C", "D", "E", "F", "G"], 2, 'name'));
console.log(getGrouped(["A", "B", "C", "D", "E", "F", "G", "H", "I"], 3, 'name'));
.as-console-wrapper { max-height: 100% !important; top: 0; }