JavaScript操作数组方法

276 阅读3分钟

本文章为个人的学习笔记,如有错,望指出更正。

concat(..array)

  • 连接一个或者多个数组
  • 参数可以是一个或者多个数组
 var a = ['a','aa']
 var b = ['b','bb']
 console.log(a.concat(b)); // ['a','aa','b','bb']

 var a = ['a',{"name":"a"}]
 var b = ['b','bb']
 console.log(a.concat(b)); //  ['a',{"name":"a"},'b','bb']

every()

  • 检测数组是否所有元素都满足条件
  • 返回的是布尔值
var a = ['10','15','12','16']
// 所有都大于8?
var b = a.every(i => i > 8)
console.log(b)  // true

var a = ['10','15','12','16']
// 所有都大于12?
var b = a.every(i => i > 12)
console.log(b)  // false

some()

  • 检测数组的所有元素是否满足条件,只要一个元素满足条件就true
  • every()可以看作并运算
  • some()可以看与运算
  • 返回的是布尔值
var a = ['10','15','12','16']
// 有一个元素大于8?
console.log(a.some(i => i > 8))  // true

var a = ['10','15','12','16']
// 有一个元素大于20?
console.log(a.some(i => i > 20))  // false

fill(value, start, end)

  • 将数组的某一段替换为其他值
  • start, end为可选参数
var a = ['10','15','12','16']
a.fill('5')
console.log(a)  //['5','5','5','5']

var a = ['10','15','12','16']
a.fill('5',2,4)
console.log(a)  //['10','15','5','5']

filter()

  • 返回一个满足条件的数组
var a = ['10','15','12','16']
// 大于8的元素
console.log(a.filter(i => i > 8))  // ['10','15','12','16']

var a = ['10','15','12','16']
// 大于12的元素
console.log(a.filter(i => i > 12))  // ['15','16']

find()

  • 返回数组中满足条件的最后一个元素
var a = ['10','15','12','16']
console.log(a.find(i => i > 11))  // 15

findIndex()

  • 返回数组中满足条件的第一个元素的索引值
var a = ['10','15','12','16']
console.log(a.findIndex(i => i > 11))  // 1

forEach()

  • 遍历一次数组
var a = ['10','15','12','16']
a.forEach(i => console.log(i))// 10  15  12  16 

includes()

  • 判断数组是否含有某个值
  • 返回布尔值
 var a = ['10','15','12','16']
 var b = a.includes('15')
 console.log(b) // true

 b = a.includes('20')
 console.log(b) // false

indexOf(item,start)

  • 返回数组中某个元素的位置
  • 只返回第一个出现元素的位置
 var a = ['10','15','12','16','15']
 var b = a.indexOf('15')
 console.log(b) // 1

lastIndexOf(item,start)

  • 返回数组中某个元素的位置
  • 只返回最后一个出现元素的位置
 var a = ['10','15','12','16','15']
 var b = a.lastIndexOf('15')
 console.log(b) // 4

isArray()

  • 判断是否是数组
  • 返回布尔值

join()

  • 把数组所有元素的的转化为字符串输出
 var a = ['10','15','12','16']
 console.log(a.join()) // 10,15,12,16

map()

  • 返回原数组处理后的值
 var a = [10,15,12,16]
 console.log(a.map(i => i=i+1)) // [11, 16, 13, 17]

pop()

  • 删除数组最后一个元素
  • 返回最后一个值(被删的)
var a = [10 , 15 , 12 , 16]
console.log(a.pop()) // 16

shift()

  • 删除数组第一个元素
  • 返回第一个值(被删的)
var a = [10 , 15 , 12 , 16]
console.log(a.shift()) // 10

pop()

  • 返回删除数组第一个元素的数组
var a = [10 , 15 , 12 , 16]
console.log(a.pop()) // [15 , 12 , 16]

push()

  • 给数组的末尾添加元素
  • 返回是时数组的长度
var a = [10 , 15 , 12 , 16]
console.log(a.push(8)) // 5
console.log(a) // [10, 15, 12, 16, 8]

unshift()

  • 给数组的开头添加元素
  • 返回是时数组的长度
var a = [10 , 15 , 12 , 16]
console.log(a.push(8)) // 5
console.log(a) // [8,10, 15, 12, 16]

slice(start, end)

  • 返回从start到end的数组
var a = [10 , 15 , 12 , 16]
console.log(a.slice(0,2)) // [10, 15]

sort()

  • 对数组元素进行排序