数组的一些操作方法 1.数组的length属性:用来计算数组的长度,也就是数组元素的个数 var arr = [1,2,3,4,5]; console.log(arr.length); //结果是5 2.数组的push方法:用来向数组的尾部添加新的元素 var arr = [1,2,3,4,5]; arr.push(6,7,last); console.log(arr) // 输出结果为[1,2,3,4,5,6,7,last] 3.数组的unshift方法:用来向数组元素的前面添加元素 var arr = [1,2,3,4,5]; arr.unshift(0,-1,"before"); console.log(arr); // 结果为 [0,-1,before,1,2,3,4,5] 4.数组的pop方法:用来删除数组里面的最后一个元素 var arr = [1,2,3,4,5]; arr.pop(); console.log(arr); // 结果为 [1,2,3,4] 5.数组的shift方法:用来删除数组里面的第一个元素 var arr = [1,2,3,4,5]; arr.shift(); console.log(arr); // 结果为 [2,3,4,5] 6.数组的splice方法:用来对数组元素进行切割,并且可以增删改的操作 var nameArr = ["洋洋","芳芳","圆圆","小明"]; //当splice只有一个参数n的时候 splice(n),只保留数组的前n个元素,后面的删除 nameArr.splice(3); console.log(nameArr); // 结果为 ["洋洋","芳芳","圆圆"] //当splice有两个参数的时候 splice(n,m),第一个参数n代表删除的起始位置,第二个参数m代表删除的个数,切记n代表的元素在数组中的位置 nameArr.splice(1,2); console.log(nameArr); // 结果为 ["洋洋","小明"] //当splice有多个参数的时候splice(n,m,k),第一个参数n代表参数的起始位置,第二个参数m代表删除的个数,第三个及以上元素插入到我们删除的位置 nameArr.splice(2,2,99,999); console.log(nameArr); // 结果为 ["洋洋","芳芳",99,999] 7.数组排序 sort方法 var arr=["1","2","3","-5","-7"]; //从小到大排序 arr.sort(function(a,b){ return a-b; }) console.log(arr) //从大到小,直接把从小到大的给反向排序 arr.reverse(); console.log(arr); //冒泡 function bSort(arr) { var len = arr.length; for (var i = 0; i < len-1; i++) { for (var j = 0; j < len - 1 - i; j++) { // 相邻元素两两对比,元素交换,大的元素交换到后面 if (arr[j] > arr[j + 1]) { var temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } return arr; } //举个例子 myArr = [20,18,27,19,35]; //使用函数 bSort(myArr) 8.把数组里的每一项转换为数字 var arr=["1","2","3","-5","-7"]; var s=arr.map(Number); console.log(s) 9.数组去重 var arr=[1,2,3,4,5,4,2,1,3]; function removal(arr){ for(var i=0;i<arr.length;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]==arr[j]){ arr.splice(j,1); } } } } removal(arr); console.log(arr); es6数组去重 let a=[1,23,5,5]; let b = [...new Set(a)]; console.log(b) es6数组对象去重 function removalRepeat (arr) { let map = new Map() for (let i of arr) { map.set(i.code, i) } arr = [...map.values()] console.log(arr) } 10.数组对象求和 const arr = [1, 2, 3, 4, 5] const sum = arr.reduce((pre, item) => { return pre + item }, 0) console.log(sum) // 15 11.删除数组中的某一项 const arr = [1, 2, 3, 4, 5] delete arr[i] 12.获取数字的长度 let s2=1; console.log(s2.toString().length) 13.数组里面是对象,取对象的key和value let discount={ "100": "0.9", "200": "0.85" }; for(let i in discount){ console.log('对象的key:'+i) console.log('对象的value:'+discount[i]) ; }