JavaScript数组的常用方法
- toString() 数组转成字符串
- join() 数组转成字符串,可以自行添加分隔符
- push() 在数组的末尾添加任意元素
- pop() 移出数组的最后一项
- shift() 移出数组的第一项
- unshift() 在数组最前面添加任意值
- reverse() 颠倒数组的顺序
- sort() 按照字符串升序进行排序
- filter() 筛选数组,将满足条件的项生成一个新的数组
- concat() 数组合并
- slice(start,end) 截取一个从索引start到end的一个新的数组
- splice() 从数组中删除成员,也可以在删除位置添加项
- indexOf() 从数组中获取某元素的位置
- find() 从数组中获取满足条件的第一个值
- Array.isArray() 判断是不是数组,返回布尔值
- map() 对数组的每一项进行操作,并返回组成新组成的数组
- forEach() 遍历整个数组,若有返回值用map比较好一点
- some() 只要其中一项满足条件就返回true
- every() 必须全部满足条件才返回true
- Array.fill()使用指定元素填充数组
toString() 数组转成字符串
[1,2,3].toString();//‘1,2,3’
[‘a’,‘b’,‘c’].toString();//‘a,b,c’
[1,[2,‘c’]].toString();//‘1,2,c’
join() 数组转成字符串,可以自行添加分隔符
[1,2,3,4].join() //“1,2,3,4”
[1,2,3,4].join(’-’) //“1-2-3-4”
[1,2,3,4].join(’’) //“1234”
[1,2,3,4].join(’++’) //“1++2++3++4”
push() 在数组的末尾添加任意元素
var demo = [1,2,3,4]
demo.push(66) //[1, 2, 3, 4, 66]
demo.push(‘a’,‘b’) //[1, 2, 3, 4,‘a’,‘b’ ]
pop() 移出数组的最后一项
var demo = [1,2,3,4]
demo.pop() // [4]
demo // [1,2,3]
shift() 移出数组的第一项
var demo = [1,2,3,4]
demo.shift() // [1]
demo // [2,3,4]
unshift() 在数组最前面添加任意值
var demo = [1,2,3,4]
demo.unshift(7,8) // 返回长度6
demo // [7,8,2,3,4]
reverse() 颠倒数组的顺序
var demo = [1,2,3,4]
demo.reverse() // [4,3,2,1]
sort() 按照字符串升序进行排序
var demo = [7,1,2,4,8,9]
demo.sort() // [1,2,4,7,8,9]
var demo = [‘3str’,3,2,‘2’]
demo.sort() // [2, “2”, 3, “3str”]
var demo = [1,5,10,50]
demo.sort() // [1, 10, 5, 50]
个人感觉适合用于按首字母进行排序的数组
filter() 筛选数组,将满足条件的项生成一个新的数组
var demo = [1,2,3,4,5,6]
demo.filter(function(item){return item > 3}) // [4, 5, 6]
箭头函数写法↓↓↓
demo.filter(item => item > 3) // [4, 5, 6]
concat() 数组合并
var demo = [1,2,3]
demo.concat([7,8],[11,22]) // [1, 2, 3, 7, 8, 11, 22]
slice(start,end) 截取一个从索引start到end的一个新的数组
var demo = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’]
demo.slice(4,6) // [“e”, “f”]
demo.slice(4) // [“e”, “f”, “g”, “h”]
demo.slice(-1) // [“h”]
demo.slice(-5) // [“d”, “e”, “f”, “g”, “h”]
splice() 从数组中删除成员,也可以在删除位置添加项
var demo = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘h’]
demo.splice() // []
demo.splice(4) // [“e”, “f”, “g”, “h”]
demo.splice(2,1) // [“c”] 从第2项开始删除,删除一项
demo.splice(3,3) // [“d”, “e”, “f”] 原理同上
demo.splice(2,0,‘p’,‘q’) // [“a”, “b”, “p”, “q”, “c”, “d”, “e”, “f”, “g”, “h”] 从第2项开始删除,删除0项,添加p,q
indexOf() 从数组中获取某元素的位置
var demo = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘a’,‘h’]
demo.indexOf(‘c’) // 2
demo.indexOf(‘z’) // -1 数组中不存在该元素时会返回-1
demo.indexOf(‘a’,1) // 7
find() 从数组中获取满足条件的第一个值
var demo = [1,2,3,4,5,6]
demo.find(function(item){return item>3}) // 4
var demo = [‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,‘g’,‘a’,‘h’]
demo.find(item => item === ‘b’) // '‘b’
Array.isArray() 判断是不是数组,返回布尔值
var demo = [1,2,3,4,5,6]
Array.isArray(demo ) // true
var demo = ‘字符串’
Array.isArray(demo ) // fasle
map() 对数组的每一项进行操作,并返回组成新组成的数组
var demo = [1,2,3]
demo.map(item => {return item * item}) // [1, 4, 9]
demo.map((item,index) => {return item * index}) // [0, 2, 6]
forEach() 遍历整个数组,若有返回值用map比较好一点
var demo = [1,2,3]
demo.forEach(item =>{console.log(item)}) // 1 2 3
some() 只要其中一项满足条件就返回true
var demo = [7,8,9]
demo.some(item => item > 8) // true
demo.some(item => item > 9) // false
every() 必须全部满足条件才返回true
var demo = [7,8,9]
demo.some(item => item > 6) // true
demo.some(item => item > 8) // false
Array.fill()使用指定元素填充数组
arr.fill(value, start, end)
value:填充值。
start:填充起始位置,可以省略。
end:填充结束位置,可以省略,实际结束位置是end-1。
var obj1 = 88
Array(10).fill(obj1)
//[88, 88, 88, 88, 88, 88, 88, 88, 88, 88]
var demo = [1,2,3,4,5,6,7,8,9]
demo.fill(7, 2, 5)
// [1, 2, 7, 7, 7, 6, 7, 8, 9]
demo.fill(7, 6)
//[1, 2, 3, 4, 5, 6, 7, 7, 7]