如何将数组转换为对象

我有一个简单的数组,我需要按照以下顺序将它转换为一个对象,目标是制作一个 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"

    },


]

谢谢


繁花如伊
浏览 289回答 2
2回答

元芳怎么了

正如评论所指出的,我认为您对自己到底需要什么感到困惑——您所描述的只是一个多维数组,根本不是一个对象。只需通过谷歌搜索该术语,您就会在网上找到大量信息。至于您的具体示例,以下是您如何使用几个 for 循环来做到这一点:array1 = ["A", "B", "C", "D", "E", "F", "G"];makeGrid(array1, 2);makeGrid(array1, 3);function makeGrid(array, step) {&nbsp; const grid = [];&nbsp; for (i = 0; i < array.length; i+= step) {&nbsp; &nbsp; const tmp = [];&nbsp; &nbsp; for (j = 0; j < step && array[i + j]; j++) {&nbsp; &nbsp; &nbsp; tmp.push(array[i+j]);&nbsp; &nbsp; }&nbsp; &nbsp; grid.push(tmp);&nbsp; }&nbsp; console.log(grid);}

当年话下

您可以对数组进行切片,直到没有更多值可用。使用具有所需长度的切片数组,您可以生成具有给定名称和编号的新对象。function getGrouped(array, size, key) {&nbsp; &nbsp; var result = [],&nbsp; &nbsp; &nbsp; &nbsp; i = 0;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; while (i < array.length) {&nbsp; &nbsp; &nbsp; &nbsp; result.push(Object.assign(...array.slice(i, i += size).map((v, i) => ({ [key + i]: v}))));&nbsp; &nbsp; }&nbsp; &nbsp; 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; }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript