js数组中常用的14种方法总结(es5)

1、join (separator:通过分隔符将数组转换为字符串;

  • separator:可选,指定的分隔符,如果省略,则默认使用逗号;
let arry = [1, 2, 3, 4]
let newEnd = arry.join(',')
console.log(newEnd) // 1,2,3,4
console.log(typeof (newEnd)) // string
console.log(arry) // [1, 2, 3, 4]

2、splice(index,del,additem1,...additemn) : 向数组中添加/删除项目,然后返回被删除的项目;

  • index : 必须,整数,规定添加/或删除元素的位置,使用负数则从结尾开始;
  • del : 必须,整数,删除元素的数量,0则不删除元素;
  • additem1 : 可选,向数组添加的元素;
let arry = [1, 2, 3, 4]
let newEnd = arry.splice(2, 1, 5)
console.log(newEnd) // [3]
console.log(arry) // [1, 2, 5, 4]

注:splice()该方法会改变原数组,返回值为被删除元素的数组,如果未删除,则返回空数组;

3、slice(start,end) : 从已有的数组中返回选定的元素,包含从 start 到 end (不包括该元素);数组字符串共同方法

  • start: 必须,从何处开始选取,-1表示从尾部开始算起;
  • end : 可选,从何处结束选取,如果忽略此参数,那么切分的数组包含从 start 到数组结束的所有元素。负数表示从尾部开始。
let arry = [1, 2, 3, 4, 5]
let newEnd = arry.slice(1, 4)
console.log(newEnd) // [2, 3, 4]
console.log(arry) // [1, 2, 3, 4, 5]

注:slice()该方法不会改变原数组,返回值为新选定元素的数组;

4、push () 方法可向数组的末尾添加一个或多个元素,并返回新的长度。(改变原数组)

studyFun() {
   let arr = [1, 2, 3, 4]
   let end = arr.push(5, 6)
   console.log(end)// 6
   console.log(arr)//[1, 2, 3, 4, 5, 6]
},

5、unshift()该方法向数组的开头添加一个或更多元素,并返回新的长度。(改变原数组)

studyFun() {
   let arr = [1, 2, 3, 4]
   let end = arr.unshift(88,77)
   console.log(end) // 6
   console.log(arr) //[88, 77, 1, 2, 3, 4]
 },

6、pop()该方法用于删除数组的最后一个元素,并返回被删除的元素(改变原数组的长度)

 studyFun() {
      let arr = [1, 2, 3, 4]
      let end = arr.pop()
      console.log(end)// 4
      console.log(arr)//[1, 2, 3]
    },

7、shift()该方法用于删除数组的第一个元素,并返回被删除的元素(改变原数组的长度)

studyFun() {
      let arr = [1, 2, 3, 4]
      let end = arr.shift()
      console.log(end) // 1
      console.log(arr) //[2, 3,4]
    },

8、sort() 方法用于对数组的元素进行排序(在原数组上进行排序,​​​改变原数组,不生成副本)。 

//用法:

array.sort(sortfunction)  // sortfunction 可选。规定排序顺序。必须是函数。

注意: 

  • 排序顺序可以是字母或数字,并按升序或降序;
  • 默认排序顺序为按字母升序;
  • 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序;
  • 当数字是按字母顺序排列时"40"将排在"5"前面。
 let a = [1, 3, 2, 20]
 a.sort() //默认升序 
 console.log(a) // [1, 2, 20,3] 
  • 使用数字排序,你必须通过一个函数作为参数来调用。
  • 函数指定数字是按照升序还是降序排列。
 let a = [1, 3, 2, 20]

  // ***升序*** 
  // a.sort(function (a, b) {
  //   return a - b
  // })
  // console.log(a) //[1, 2, 3, 20] 

  // ***降序***
  a.sort(function (a, b) {
    return b - a
  })
  console.log(a) //[20, 3, 2, 1]
 
  // 按字母排序

  var fruits = ["Banana", "Orange", "Apple", "Mango"];
  fruits.sort();
  console.log(fruits) //["Apple", "Banana", "Mango", "Orange"]

9、reverse()方法用于颠倒数组中元素的顺序(改变原数组)。

 var fruits = ["Banana", "Orange", "Apple", "Mango"];

 fruits.sort();

 console.log(fruits) //["Apple", "Banana", "Mango", "Orange"]

 fruits.reverse()

 console.log(fruits) // ["Orange", "Mango", "Banana", "Apple"]

10、concat() 方法用于连接两个或多个数组(该方法不会改变原数组,返回被连接的新数组)。

arrayObject.concat(arrayX,arrayX,......,arrayX) 

//arrayX必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。

返回值:新的数组。该数组是通过把所有 arrayX 参数添加到 arrayObject 中生成的。如果要进行 concat() 操作的参数是数组,那么添加的是数组中的元素,而不是数组。 

let a = ['1', '2', '3']
let b = ['a', 's'] 
let end = a.concat(b, ['t', 'f'], 4)

console.log(a) //["1", "2", "3"]
console.log(b) //["a", "s"]
console.log(end)  // ["1", "2", "3", "a", "s", "t", "f", 4]

11、toString() 方法可把数组转换为字符串(返回字符串,不改变原数组)。数组字符串共同方法

let fruits = ["Banana", "Orange", "Apple", "Mango"];
let end = fruits.toString();
console.log(fruits) ["Banana", "Orange", "Apple", "Mango"]
console.log(end) //Banana,Orange,Apple,Mango

注:toString和join都可以使元素变成字符串,但是在join方法连接可以指定字符 

12、indexOf() 方法可返回数组中某个指定的元素位置;从头到尾向后查;如果不存在则返回-1 

array.indexOf(item,start)

// item	必须。查找的元素。
// start 可选的整数参数。规定在数组中开始检索的位置.
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
console.log(a) // 2
var b = fruits.indexOf("Apple", 3);
console.log(b) // -1
var c = fruits.indexOf("Apple", 1);
console.log(c) // 2 从指定位置中找到,则返回的位置还是元素在原数组中的位置

13、lastIndexOf()返回指定元素在数组中最后出现的位置,从尾到头向前查;如果不存在则返回-1

var fruits = ["Banana", 'apple', "Orange", "Apple", "Mango", 'Apple'];
var a = fruits.lastIndexOf("Apple", 2);
console.log(a) // -1
var b = fruits.lastIndexOf("Apple");
console.log(b) // 5

注意: lastIndexOf与indexOf用法相同;并且对大小写敏感! 数组字符串共同方法 

14、isArray() 方法用于判断一个对象是否为数组; 如果对象是数组返回 true,否则返回 false

studyFun() {
   let a = [1, 3, 2]
   let end = Array.isArray(a)
   console.log(end)//true 
},


 
 

太菜,基础太差肿么办?

今天(2019-8-26),提离职了,内心很难过,也有很多的不舍,可是。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值