1.push()

这个方法可以向数组的末尾**添加**一个或多个元素,并返回新的长度。需要注意的是,该方法也会改变数组的长度。

  1. var arr = [1, 2, 3, 4, 5];
  2. console.log(arr.push(6, 7)); // 7
  3. console.log(arr); //[1,2,3,4,5,6,7]

2.unshift()

这个方法可以向数组的开头**添加**一个或多个元素,并返回新的长度。需要注意的是,该方法也会改变数组的长度。

  1. var arr = [1, 2, 3, 4, 5];
  2. console.log(arr.unshift(-1, 0)); // 7
  3. console.log(arr); //[-1,0,1,2,3,4,5]

3.pop()

这个方法用于删除数组的最后一个元素并返回删除的元素。需要注意的是,该方法会改变数组的长度。

  1. var arr = [1, 2, 3, 4, 5];
  2. console.log(arr.pop()); // 5
  3. console.log(arr); //[1,2,3,4]

4.shift()

这个方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。需要注意的是,该方法会改变数组的长度。

  1. var arr = [1, 2, 3, 4, 5];
  2. console.log(arr.shift()); // 1
  3. console.log(arr); //[2,3,4,5]

5.concat()

这个方法用来连接两个或多个数组,并返回一个新的数组。该方法不会改变原来的数组。

  1. var arr1 = [1, 2, 3, 4, 5];
  2. var arr2 = [6, 7, 8];
  3. console.log(arr1.concat(arr2)); //[1, 2, 3, 4, 5, 6, 7, 8]
  4. console.log(arr1); //[1, 2, 3, 4, 5]
  5. console.log(arr2); //[6, 7, 8]

6.indexOf()

这个方法找到指定元素在数组里第一次出现的位置,返回指定元素的索引值;如果没有找到,就返回-1。

  1. var arr = [1, 2, 3, 4, 5, 9, 8, 5];
  2. console.log(arr.indexOf(3)); //0 注意:数组下标从0开始
  3. console.log(arr.indexOf(6)); //-1 数组里面没有6所有返回-1

7.join()

这个方法可以把数组的全部元素连接到一起形成一个字符串。使用这个方法时还可以传入一个字符串参数,作为分隔符插入到最终的字符串里。如果省略该参数,则使用逗号作为分隔符

  1. var arr = [1, 2, 3, 4, 5];
  2. console.log(arr.join()); //1,2,3,4,5
  3. console.log(arr.join("")); //12345
  4. console.log(typeof arr.join()); //String
  5. console.log(arr.join("*")); //1*2*3*4*5

8.slice()

这个方法用于从当前数组中提取一个子集,返回一个新的数组。该方法有两个参数,第一个参数规定从何处开始选取,必需填写;第二个参数可有可无,规定从何处结束选取,该参数是 数组片段结束处的数组下标(不包含该元素),如果没有指定该参数,那么返回的数组包含从选取开始到数组结束的所有元素。注意:该方法不会改变原数组的长度。

  1. var arr = [1, 2, 3, 4, 5, 6, 7, 8];
  2. console.log(arr.slice(2, 5)); //[3, 4, 5]
  3. console.log(arr.slice(2)); //[3, 4, 5, 6, 7, 8]
  4. console.log(arr); //[1, 2, 3, 4, 5, 6, 7, 8]

9.splice()

这个方法可以再数组里添加或删除指定的一个或多个元素。

  1. 语法:
  2. array.splice(index,howmany,item1,item2...,itemX)

第一个参数规定在数组的什么位置添加/删除元素。该参数是开始插入或删除的数组元素的下标,必须是数字;
第二个参数规定要删除多少个元素(设置为0表示不删除元素)如果不规定此参数,则删除从index开始到原数组结尾的所有元素;
第三个参数是可选的,是要插入的新元素列表。
注意:该方法会改变原始数组。

  1. var arr = [1, 2, 3, 4, 5];
  2. console.log(arr.splice(2, 1)); // [3]
  3. console.log(arr); // [1, 2, 4, 5]
  4. console.log(arr.splice(2, 0, 7, 8)); //[]
  5. console.log(arr); // [1, 2, 7, 8, 4, 5]
  6. console.log(arr.splice(2, 1, 9)); //[7]
  7. console.log(arr); // [1, 2, 9, 8, 4, 5]

10.sort()

这个方法用于对数组的元素进行排序。排序顺序可以是字母或数组字,并按升序胡或降序的方法。默认排序顺序是按字母升序。需要注意的是,使用数学排序必须通过一个函数作为参数来调用,函数指定数字是按照升序还是降序排列。

  1. var arr = [1, 3, 12, 5, 2, 6, 9];
  2. console.log(arr.sort()); //[1, 12, 2, 3, 5, 6, 9]
  3. cnsole.log(arr.sort(function (a, b) { return a - b; })); //[1, 2, 3, 5, 6, 9, 12]
  4. console.log(arr.sort(function (a, b) { return b - a; })); //[12, 9, 6, 5, 3, 2, 1]

11.reverse()

这个方法用于颠倒数组中元素的顺序

  1. var arr=[1,2,3,4,5];
  2. console.log(arr.reverse()); //[5,4,3,2,1]

数组迭代

1.forEach

forEach() 方法为每个数组元素调用一次函数(回调函数)。

  1. 语法: arr.forEach(function(value,index,arr){})
  2. value:数组
  3. index:下标
  4. arr:原数组
  5. 例:
  6. var arr = [3, 4, 5, 6];
  7. arr.forEach(function (value, index, arr) {
  8. console.log(value + "下标:" + index +" 原数组"+ arr);
  9. });
  10. /* 3下标:0 原数组3,4,5,6
  11. 4下标:1 原数组3,4,5,6
  12. 5下标:2 原数组3,4,5,6
  13. 6下标:3 原数组3,4,5,6
  14. */

2.map

map() 方法通过对每个数组元素执行函数来创建新数组;不会对没有值的数组元素执行函数;不会更改原始数组。

  1. var arr = [3, 4, 5, 6];
  2. var result = arr.map(function (value) {
  3. return value * 2;
  4. });
  5. console.log(result); // [6, 8, 10, 12]

3.every

every() 方法检查所有数组值是否通过测试。

  1. //every要求自定义条件都符合的情况下才返回true,否则只要有一个条件不成立就返回false 相当于逻辑与(&&)
  2. var arr = [3, 4, 5, 6];
  3. var result = arr.every(function (item) {
  4. return item % 2 == 0;
  5. })
  6. console.log(result); //false

4.some

some() 方法检查某些数组值是否通过了测试。

  1. //some 要求自定义条件只要有一个符合的情况就返回true,否则返回false 相当于逻辑或(||)
  2. var arr = [3, 4, 5, 6];
  3. var result = arr.some(function (item) {
  4. return item % 2 == 0;
  5. })
  6. console.log(result); //true

5.filter

filter() 方法创建一个包含通过测试的数组元素的新数组。

  1. //filter(过滤) 把符合条件的元素保留返回一个新数组,不符合条件的给过滤掉
  2. var arr = [3, 4, 5, 6];
  3. var result = arr.filter(function (item) {
  4. return item % 2 == 0;
  5. })
  6. console.log(result); //[4, 6]

6.reduce

累加

  1. 语法:
  2. reduce(function(initValue,currentValue,index,arr){})
  3. /* initValue:初始值
  4. currentValue:当前值
  5. index:下标值
  6. arr:原数组
  7. */
  8. //如果设置初始值那么初始值为设定的值,如果没有设定则为数组中的第一个元素
  9. var result = arr2.reduce(function (initValue, currentValue) {
  10. console.log(initValue, currentValue);
  11. return initValue + currentValue;
  12. }, 10)
  13. console.log(result);
  14. /* 10 3
  15. 13 4
  16. 17 5
  17. 22 6
  18. 28
  19. */

作业:如何将字符串翻转?

作业分析:
1.将字符串转化为数组 用split( )方法
2.将数组翻转 用reverse( )方法
3.将数组中的元素再拼接为字符串
代码实现:

  1. var str = "字符串翻转";
  2. var res = str.split(""); //将字符串转化为数组
  3. console.log(res); // ["字", "符", "串", "翻", "转"]
  4. res.reverse(); //将数组里面元素翻转
  5. console.log(res); //["转", "翻", "串", "符", "字"]
  6. var str1 = res.join("");
  7. console.log(typeof (str1)); // String
  8. console.log(str1); //转翻串符字

参考文献https://www.runoob.com/jsref/jsref-obj-array.html