增加

  1. push() // 向数组末尾添加元素,并返回数组修改后的长度
  2. var arr = ["Lily","lucy","Tom"];
  3. var count = arr.push("Jack","Sean");
  4. console.log(count);           // 5
  5. console.log(arr);            // ["Lily", "lucy", "Tom", "Jack", "Sean"]
  1. unshift() // 将参数添加到原数组的开头,并返回数组的长度
  2. var arr = ["Lily","lucy","Tom"];
  3. var count = arr.unshift("Jack","Sean");
  4. console.log(count);               // 5
  5. console.log(arr);                //["Jack", "Sean", "Lily", "lucy", "Tom"]
  1. concat() // 将参数添加到原数组中
  2. var arr = [1,3,5,7];
  3. var arrCopy = arr.concat(9,[11,13]);
  4. console.log(arrCopy);             //[1, 3, 5, 7, 9, 11, 13]
  5. console.log(arr);               // [1, 3, 5, 7](原数组未被修改)

删除

  1. pop() // 移除数组最后一项,返回移除的那个值,减少数组的length
  2. var item = arr.pop();
  3. console.log(item);            // Sean
  4. console.log(arr);            // ["Lily", "lucy", "Tom", "Jack"]
  1. shift() // 删除原数组的第一项,并返回删除元素的值,如果数组为空则返回undefined
  2. var item = arr.shift();
  3. console.log(item);               // Jack
  4. console.log(arr);                // ["Sean", "Lily", "lucy", "Tom"]

查找

  1. slice() // 返回从原数组中指定开始下标到结束下标之间的项组成的新数组,slice()方法可以接收一或两个参数,既要返回的起始位置和结束位置,在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项,如果有两个参数,该方法返回起始和结束位置之间的项--但不包括结束位置的项
  2. var arr = [1,3,5,7,9,11];
  3. var arrCopy = arr.slice(1);
  4. var arrCopy2 = arr.slice(1,4);
  5. var arrCopy3 = arr.slice(1,-2);
  6. var arrCopy4 = arr.slice(-4,-1);
  7. console.log(arr);               //[1, 3, 5, 7, 9, 11](原数组没变)
  8. console.log(arrCopy);             //[3, 5, 7, 9, 11]
  9. console.log(arrCopy2);            //[3, 5, 7]
  10. console.log(arrCopy3);            //[3, 5, 7]
  11. console.log(arrCopy4);            //[5, 7, 9]
  1. indexOf() // 接收两个参数:要查找的项和(可选的)表示查找的起点位置的索引,其中,从数组的开头(位置0)开始向后查找
  2. lastIndexOf() // 接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。
  3. var arr = [1,3,5,7,7,5,3,1];
  4. console.log(arr.indexOf(5));       //2
  5. console.log(arr.lastIndexOf(5));     //5
  6. console.log(arr.indexOf(5,2));      //2
  7. console.log(arr.lastIndexOf(5,4));   //2
  8. console.log(arr.indexOf("5"));      //-1

splice

  1. splice() // 删除、插入和替换
  2. 删除:指定两个参数:要删除的第一项的位置和要删除的项数
  3. 插入:可以向指定位置插入任意数量的项,只需提供3个参数:起始位置、(0)要删除的项数、和要插入的项
  4. 替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定三个参数:起始位置、要删除的项数和要插入的任意数量的项,插入的项数不必与删除的项数相等
  5. var arr = [1,3,5,7,9,11];
  6. var arrRemoved = arr.splice(0,2);
  7. console.log(arr);                //[5, 7, 9, 11]
  8. console.log(arrRemoved);            //[1, 3]
  9. var arrRemoved2 = arr.splice(2,0,4,6);
  10. console.log(arr);                // [5, 7, 4, 6, 9, 11]
  11. console.log(arrRemoved2);           // []
  12. var arrRemoved3 = arr.splice(1,1,2,4);
  13. console.log(arr);                // [5, 2, 4, 4, 6, 9, 11]
  14. console.log(arrRemoved3);           //[7]

一、join

  1. // join()里面传的是分隔符
  2. var arr = ['html','css','js']
  3. console.log(arr.join('|'));

二、sort

  1. sort():将数组里的项从小到大排序
  2. var arr1 = ["a", "d", "c", "b"];
  3. console.log(arr1.sort());           // ["a", "b", "c", "d"]
  4. // 升序
  5. var arr = [12, 3, 5, 11, 1]
  6. var newArr = (arr.sort(function(a, b) {
  7. return a - b
  8. }))
  9. console.log(newArr);
  10. // 降序
  11. var c = [12, 14, 45, 2]
  12. var test = c.sort(function(a, b) {
  13. return b - a
  14. })
  15. console.log(test);
  1. // 实例
  2. var arr = [
  3. {
  4. name: 'KFC',
  5. price: 100,
  6. distance: 100
  7. },
  8. {
  9. name: '必胜客',
  10. price: 200,
  11. distance: 500
  12. },
  13. {
  14. name: '华莱士',
  15. price: 50,
  16. distance: 1000
  17. },
  18. ]
  19. arr.sort(function(a,b){
  20. return a.price - b.price
  21. })
  22. console.log(arr);
  23. arr.sort(function(a,b){
  24. return b.distance - a.distance
  25. })
  26. console.log(arr);

三、reduce

  1. var arr = [1, 2, 3]
  2. var sum = arr.reduce((a,b) => a+b)
  3. console.log(sum);

四、reverse

  1. // 翻转数组,原数组改变
  2. var arr = ['html', 'css', 'js']
  3. arr.reverse()
  4. console.log(arr);

五、for in

  1. var arr = ['html', 'css', 'js']
  2. for(var key in arr){
  3. console.log(key); // key获取的是数组的下标
  4. console.log(arr[key]);
  5. }
  6. var test = {
  7. name: 'KFC',
  8. price: 100,
  9. distance: 100
  10. }
  11. for(var key in test){
  12. console.log(key); // key获取的是对象的属性
  13. console.log(test[key]);
  14. }

六、for of

  1. var arr = [3, 4, 5]
  2. for(var value of arr){
  3. console.log(value); // value获取的是值
  4. console.log(arr.indexOf(value)); // 获取下标
  5. }

七、foreach

  1. forEach():对数组进行遍历循环,对数组中的每一项运行给定函数。这个方法没有返回值。参数都是function类型,默认有传参,参数分别为:遍历的数组内容;第对应的数组索引,数组本身。
  2. var arr = [1, 2, 3, 4, 5];
  3. arr.forEach(function(x, index, a){
  4. console.log(x + '|' + index + '|' + (a === arr));
  5. });
  6. // 输出为:
  7. // 1|0|true
  8. // 2|1|true
  9. // 3|2|true
  10. // 4|3|true
  11. // 5|4|true
  12. var test = [2, 3, 4]
  13. var test1 = []
  14. test.forEach(function(item) {
  15. test1.push(item * 2)
  16. })
  17. console.log(test1);
  18. var names = [
  19. {name: 'lisi'},
  20. {name: 'wangwu'}
  21. ]
  22. names.forEach(function(item){
  23. item.like = true
  24. })
  25. console.log(names);

八、map

  1. map():指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
  2. var arr = [2, 3, 4]
  3. var res = arr.map(item => {
  4. return item * 2;
  5. })
  6. console.log(res);
  7. var arr = [
  8. {name: 'html', value: '12px'},
  9. {name: 'css', value: '13px'},
  10. {name: 'js', value: '14px'}
  11. ]
  12. arr.map(item => {
  13. item.value = parseInt(item.value) * 2 + 'px'
  14. })
  15. console.log(arr);

九、some

  1. var arr = [3, 4, 5, 6];
  2. // 只要数组中一项满足某个条件,那么结果就是true
  3. var res = arr.some(item => {
  4. return item > 1;
  5. })
  6. console.log(res);

十、every

  1. var arr = [2, 3, 4]
  2. // 数组中的每一项都必须满足某个条件,返回Boolean
  3. var res = arr.every(item => {
  4. return item > 2;
  5. })
  6. console.log(res);

十一、filter

  1. filter():“过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
  2. var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  3. var arr2 = arr.filter(function(x, index) {
  4. return index % 3 === 0 || x >= 8;
  5. });
  6. console.log(arr2);         //[1, 4, 7, 8, 9, 10]
  7. var arr = [3, 4, 5, 6]
  8. // 只要是达到某个条件,就会返回一个新的数组
  9. var res = arr.filter(item => {
  10. return item > 4
  11. })
  12. console.log(res);

十二、find

  1. var arr = [2, 3, 4]
  2. // 返回数组中符合条件的一个值,找到则返回数组中符合的值,没找到则返回undefined
  3. var res = arr.find(item => {
  4. return item == 3;
  5. })

十三、findIndex

  1. var arr = [4, 3, 4]
  2. // 返回数组中符合条件的元素的下标,找到则返回数组元素的下标,没找到则返回-1
  3. var index = arr.findIndex(item => {
  4. return item == 4;
  5. })
  6. console.log(index);