我的脚本工作得很好,但我不知道为什么我脑子里有一个内心的声音告诉我必须有一个“盒子里面”的解决方案,而不是编写一个函数或更简单的方法来获得我想要的东西。我想要的只是获取数组索引(而不是键)而不是值。这是我的简单代码:<!DOCTYPE HTML><html><head><meta charset=utf-8><title> </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));
猛跑小猪
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);
添加回答
举报
0/150
提交
取消