全栈训练营

JavaScript数组总结

2019-12-14  本文已影响0人  RicoTech666

有哪些创建数组的方法?

js创建数组有以下三种方法:

var arr = ['elem1','elem2','elem3'];
var arr = new Array('elem1','elem2','elem3')
var arr = new Array();
arr[0] = 'elem1';
arr[1] = 'elem2';
arr[2] = 'elem3';
var arr = new Array(3);

遍历数组

A.

var weekdays = ['Tue','Wen','Thur'];
for(let key in weekdays){
  console.log(key,weekdays[key]);
}

B.

var weekdays = ['Tue','Wen','Thur'];
for(let i = 0;i < weekdays.length;i++){
  console.log(i,weekdays[i]);
}

C.

var weekdays = ['Tue','Wen','Thur'];
weekdays.forEach(items=>{console.log(items);});

关于数组的重要属性

arr.length返回数组长度

关于数组的重要方法

  1. forEach()

解释:
循环遍历数组

语法:

arr.forEach(function(currentValue, index, arr), thisValue)
  1. pop()

解释:
删除数组最后一个元素并作为返回值返回,数组长度会因此减1,返回值类型取决于删除的元素类型.

语法:

arr.pop()
  1. shift()

解释:删除数组第一个元素并作为返回值返回,数组长度会因此减1.常用于while循环中,依次打印输出数组中的元素并清空数组,返回值类型取决于删除的元素类型.

语法:

arr.shift()
  1. push()

解释:给原数组末尾添加一个或多个元素,返回值为添加元素后数组的长度,为number类型.

语法:

arr.push(element1[, ...[, elementN]])
  1. unshift()

解释:给原数组开头添加一个或多个元素,返回值为添加元素后数组的长度,为number类型.

语法:

arr.unshift(element1[, ...[, elementN]])
  1. join()

解释:将数组中元素组合成为一个字符串,返回值对应组合的字符串,为string类型

语法:

arr.join([separator])
  1. reverse()

解释:在原数组上操作,将原数组中元素逆序,返回值为逆序操作后的数组

语法:

arr.reverse()
  1. slice()

解释:不改变原数组,浅拷贝的方式截取原数组的一部分,返回值为截取下来的部分,为数组类型.

语法:

arr.slice([begin[, end]])
  1. splice()

解释:在原数组上操作,替换/删除原数组的部分元素,并插入一个或多个新元素,返回值为被替换/删除掉的元素。如果被替换/删除掉多个元素,则返回被删除掉的子数组;如果没被删除/替换掉任何元素,则返回空数组。

语法:

var arrDeletedItems = array.splice(start[, deleteCount[, item1[, item2[, ...]]]])

[Exercise] 用splice()编写一个函数,实现数组元素交换位置

/* exercise for splice() */

function swapArray(arr, index1, index2) {
  arr[index1] = arr.splice(index2, 1, arr[index1])[0];
  return arr;
}
  1. sort()

解释:在原数组上操作,对原数组进行排序,默认为将数组元素转化为字符串后,比较对应字符串的UTF-16编码值,升序排序。返回值为排序后的数组。

语法:

arr.sort([compareFunction])
  1. reduce()

解释:对数组的每个元素遍历执行reducer函数,并只返回一个值。

语法:

arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
  1. map()

解释:用回调函数依次处理原数组的每一个元素,并返回处理后的新数组.将被map()处理的元素范围在第一次调用回调函数之前便已经确定.

语法:

var new_array = arr.map(function callback(currentValue[, index[, array]]) {
    // Return element for new_array
}[, thisArg])
上一篇 下一篇

猜你喜欢

热点阅读