1.二维数组遍历
var arr = [['128g','红色'],['256g','黑色']]
var arr1 = []
for(let i = 0;i< arr.length;i++){ //需要生成的新的数组的长度,以最外层为主
let obj = {}
for(let j = 0;j < arr[i].length;j++){
obj[`pValue${j+1}`] = arr[i][j]
}
arr1.push(obj)
}
- 如果要对数组进行遍历每次找到匹配的元素后删除这一项可以使用 while 循环
function selctionSort (arr) {
let newArr = [];
while(arr.length) {
let {smallest, smallest_index } = findSmallest(arr);
newArr.push(smallest)
arr.splice(smallest_index, 1)
}
return newArr;
}
selctionSort([5,3,6,2,10]) // [2,3,5,6,10]
如果直接用for循环那么每次移除一个 arr 的长度就会变化,最后得到的对应 newArr 的长度就会和我们数组真实长度不一致
function selctionSort (arr) {
let newArr = [];
for(let i = 0; i < arr.length; i++) {
let {smallest, smallest_index } = findSmallest(arr);
newArr.push(smallest)
arr.splice(smallest_index, 1)
}
return newArr;
}
selctionSort([5,3,6,2,10]) // [2,3,5]
网友评论