Javascript将多维数组转换为索引

我的脚本工作得很好,但我不知道为什么我脑子里有一个内心的声音告诉我必须有一个“盒子里面”的解决方案,而不是编写一个函数或更简单的方法来获得我想要的东西。


我想要的只是获取数组索引(而不是键)而不是值。


这是我的简单代码:


<!DOCTYPE HTML>

<html>

<head>

<meta charset=utf-8>

<title>&nbsp;</title>

<style></style>

</head>

<body>


<script>


function arrayIndexes(arrConvert)

{


    var newArr=[];


    for(y in arrConvert)

    {

        newArr[y]=[];

        for(x in arrConvert[y])

        {

            newArr[y][x]=parseInt(x);

        }

    }

    

    return newArr;


}


var menu=

[

    ['Spaghetti','Pizza','Lazanya'],

    ['Vinaigrette','Mushroom','Ketchup'],

    ['Bon Appétit'],

    ['Steve Vai','Joe Satriani','Hezi Gangina','Nuno Bettencourt']

];


console.table(arrayIndexes(menu));


</script>

</body>

是否有任何魔术可以用“inTheBox”javascript 解决方案或其他更平滑的方式替换该函数?我想让它尽可能干净。


凤凰求蛊
浏览 242回答 2
2回答

一只甜甜圈

您可以使用数组映射方法、扩展语法和键方法来完成您的工作。遍历数组的数组并获取所有索引并进行映射。const menu = [&nbsp; ['Spaghetti', 'Pizza', 'Lazanya'],&nbsp; ['Vinaigrette', 'Mushroom', 'Ketchup'],&nbsp; ['Bon Appétit'],&nbsp; ['Steve Vai', 'Joe Satriani', 'Hezi Gangina', 'Nuno Bettencourt'],];const arrayIndexes = (arrConvert) => arrConvert.map((x) => [...x.keys()]);console.log(arrayIndexes(menu));

猛跑小猪

const menu = [&nbsp; ["Spaghetti", "Pizza", "Lazanya"],&nbsp; ["Vinaigrette", "Mushroom", "Ketchup"],&nbsp; ["Bon Appétit"],&nbsp; ["Steve Vai", "Joe Satriani", "Hezi Gangina", "Nuno Bettencourt"],];const sol = menu.map(arr => [arr.map((_, i) => i)]).flat();//console.table(sol);console.log(sol);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript