JavaScript 数组对象

数组长度

let arr = [1,2,3,4,5];
console.log(arr.length); // 5,和字符串一样使用 .length 属性
arr.length = 3; // 可以直接修改数组长度
console.log(arr); // [1, 2, 3] 数组内容会受到修改

数组方法

常用的数组方法有:

  • 查找数组中指定元素出现或最后出现的位置 – indexOf() 和 lastIndexOf()
  • 在数组头部添加或删除元素 – unshift() 和 shift()
  • 在数组头部添加或删除元素 – push() 和 pop()
  • 拼接数组 – concat()
  • 数组转成字符串 – join()
  • 数组中元素倒叙 – reverse()
  • 将数组排序 – sort()
  • 截取数组的一部分 – slice()
  • 删除并添加元素 – splice()

在数组头部添加或删除元素 – unshift() 和 shift()

unshift()
let arr = [1,2,3];
arr.unshift(0); // 4
console.log(arr); // [0,1,2,3]

在一个数组的头部添加元素(例子中是添加一个数字 0)使用 unshift() 方法:

  1. 原数组受到修改
  2. 返回值是添加后的数组长度
shift()
let arr = [1,2,3];
arr.shift(0); // 1
console.log(arr); // [2,3]

在一个数组的头部删除第一个元素使用 unshift() 方法:

  1. 原数组受到修改
  2. 返回值是被删除的元素

在数组头部添加或删除元素 – push() 和 pop()

push()
let arr = [1,2,3];
arr.push(4); // 4
console.log(arr); // [1,2,3,4]

在一个数组的尾部添加元素(例子中是添加一个数字 0)使用 push() 方法:

  1. 原数组受到修改
  2. 返回值是添加后的数组长度
pop()
let arr = [1,2,3];
arr.pop(0); // 3
console.log(arr); // [1,2]

在一个数组的尾部删除最后一个元素使用 pop() 方法:

  1. 原数组受到修改
  2. 返回值是被删除的元素

拼接数组 – concat()

concat()
let arr;
let arr1 = [1,2,3];
let arr2 = [4,5,6];
let arr3 = [7,8,9];
arr = arr1.concat(arr2); // [1,2,3,4,5,6]
arr = arr1.concat(arr2,arr3); // [1,2,3,4,5,6,7,8,9]

拼接单个或多个数组使用 concat() 方法:

  1. 原数组不会受到修改
  2. 返回值是拼接后的数组

数组转成字符串 – join()

join()
let arr = ["HTML","CSS","JS"];
arr.join(""); // "HTMLCSSJS"
arr.join("-"); // "HTML-CSS-JS"
  1. 原数组不会受到修改
  2. 可以添加字符让元素之间有分隔符

数组中元素倒叙 – reverse()

reverse()
let arr = [1, 2, 3, 4, 5, 6];
arr.reverse(); // [6, 5, 4, 3, 2, 1]

可以使用 reverse() 将数组中的元素倒叙:

  1. 原数组受到修改
  2. 返回值是修改后的数组

将数组排序 – sort()

let arr = [3,4,5,1,2,32];
arr.sort(); // [1, 2, 3, 32, 4, 5]
  1. 原数组受到修改
  2. 返回值是修改后的数组

以上是默认方法,但是你会发现 3 和 32 排在了一起

let arr = [3,4,5,1,2,32];
arr.sort(function (a,b){
  return a-b; // 升序
}); // [1, 2, 3, 4, 5, 32]
arr.sort(function (a,b){
  return b-a; // 降序
});  // [32, 5, 4, 3, 2, 1]

截取数组的一部分 – slice()

用于数组中介于两个指定下标之间的元素。(和字符串的 substring() 方法差不多)

let arr = [1,2,3,4,5,6,7,8,9];
arr.slice(); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
arr.slice(5); // [6, 7, 8, 9]
arr.slice(3,6); // [4, 5, 6]
  1. 原数组不会受到修改
  2. 如果没有第一个参数就相当于复制整条字符串
  3. 第一个参数为下标开始截取到不包括第二个参数的位置
  4. 如果没有第二个参数就是一直截取到头。

删除并添加元素 – splice()

splice() 方法可以从指定索引删除指定数量的元素且添加新元素

let arr = [1,2,3,4,5,6];
arr.splice(); // [] 返回一个空数组所以不能用此方法复制
arr.splice(3); // [4, 5, 6]
console.log(arr); // [1,2,3]

arr = [1,2,3,4,5,6]; // 重新赋值
arr.splice(1,3); // [2, 3, 4]
console.log(arr); // [1, 5, 6]
  1. 原数组受到修改
  2. 返回被截取的数组
  3. 以第一个参数为下标截取到第二个(包括)为下标的元素
  4. 如果没有第二个元素就一直截取到头
let arr = [1,2,3,4,5,6];
arr.splice(1,3,"Hi",[1,3]); // [2, 3, 4]
console.log(arr); [1, "Hi", [1,3], 5, 6]

上面例子的简单说明:首先我们删除下标 1 到 3 的元素,然后添加了一个字符串”Hi”和一个数组[1,3]

Conners Hua

欢迎加入群聊: Telegram 群聊 | QQ 群聊(不讨论敏感话题)

您可能还喜欢...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.