数组相关

2019-06-28  本文已影响0人  sweetBoy_9126

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)
}
  1. 如果要对数组进行遍历每次找到匹配的元素后删除这一项可以使用 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]
上一篇下一篇

猜你喜欢

热点阅读