我想使用看起来像这样的拼接对嵌套数组进行排序
[ [ 'Ruby', 65 ], [ 'Python', 90 ] , ['Javascript', 10]]
基于内部数组的值以降序排列。
预期输出:
[[ 'Python', 90 ] , ['Ruby', 65], ['Javascript',10]]
我的尝试:
function ordarray (para){
let results=para
for (let j=0; j<results.length; j++){
if (results[j][1] < results[j+1][1]) {
results.splice(results[j], 0, results[j+1])
}
}
return results
}
调用时,出现错误消息“无法读取未定义的属性'1'”
谢谢阅读!
避免在迭代过程中修改数组。这行将results[j+1][1]
引起问题,因为它将尝试在索引中查找未定义的元素
let arr = [
['Ruby', 65],
['Python', 90],
['Javascript', 10]
];
function ordarray(para) {
return para.sort((a, b) => b[1] - a[1])
}
console.log(ordarray(arr))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句