为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript将多维数组转换为索引

Javascript将多维数组转换为索引

凤凰求蛊 2023-06-29 21:14:06
我的脚本工作得很好,但我不知道为什么我脑子里有一个内心的声音告诉我必须有一个“盒子里面”的解决方案,而不是编写一个函数或更简单的方法来获得我想要的东西。我想要的只是获取数组索引(而不是键)而不是值。这是我的简单代码:<!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 解决方案或其他更平滑的方式替换该函数?我想让它尽可能干净。
查看完整描述

2 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

您可以使用数组映射方法、扩展语法和键方法来完成您的工作。遍历数组的数组并获取所有索引并进行映射。


const menu = [

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

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

  ['Bon Appétit'],

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

];


const arrayIndexes = (arrConvert) => arrConvert.map((x) => [...x.keys()]);


console.log(arrayIndexes(menu));


查看完整回答
反对 回复 2023-06-29
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

const menu = [

  ["Spaghetti", "Pizza", "Lazanya"],

  ["Vinaigrette", "Mushroom", "Ketchup"],

  ["Bon Appétit"],

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

];


const sol = menu.map(arr => [arr.map((_, i) => i)]).flat();


//console.table(sol);

console.log(sol);


查看完整回答
反对 回复 2023-06-29
  • 2 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信