JS-数组方法总结

24 篇文章 1 订阅
3 篇文章 0 订阅

在我们到数组这块内容的时候,我们会发现数组的方法居多,功能巨强大,进行我们对数组的所有原生方法进行分类总结。

1. 检测数组

  • instanceof方法

// 用于检测某个属性或者对象是否属于对象或者数组
// 返回值为 true/false
var arr = [[],1,2,3];
console.log(arr instanceof Array); //true
console.log(arr[0] instanceof Array); //true
// 还可以检测的是否为对象

  • Array.isArray 方法

// 用于确定一个传入的值是否为数组Array
// 返回值为true/false
console.log(Array.isArray([1,2,3])); //true
console.log(Array.isArray({name:‘conan’})); //false

  • Array.from 方法

// 将类数组转化为真正的数组
// 返回值为转换过的数组
console.log(Array.from([[1,2,3]])); //[1,2,3] 类数组转换为数组
console.log(Array.from(‘foo’)); //[‘f’, ‘o’, ‘o’] 字符串转换为数组
function f() {
return Array.from(arguments);
}
f(1,2,3); // [1,2,3]

-Array.toString() 方法

// 将数组转换为字符串, 并用逗号隔开 返回一个字符串
var arr = [1,2,‘a’,‘conan’]
console.log(arr.toString()) // ‘1,2,a,conan’

  • Array.join()方法

// 将一个数组或者类数组通过指定的连接符来连接数组元素,并返回一个字符串
var arr = [1,2,‘wang’, ‘conan’] ;
console.log(arr.join()); // ‘1,2,wang,conan’ 默认情况下用逗号连接
console.log(arr.join(’’)); //‘12wangconan’
console.log(arr.join(’-’)); //‘1-2-wang-conan’

  • Array.push() 方法

// 栈方法 将一个或多个新元素添加到数组的末尾,返回新数组的长度
var arr = [‘conan’, ‘wang’];
console.log(arr.push(‘king’)); // [‘conan’, ‘wang’, ‘king’]

  • Array.pop() 方法

// 栈方法, 从数组末尾删除一个或多个元素, 返回被删除的元素
var arr = [‘conan’, ‘wang’, ‘king’];
console.log(arr.pop()); // [‘conan’,‘wang’]

  • Array.shift() 方法

//队列方法 从数组的开头删除第一个元素,并返回被删除的元素
var arr = [‘conan’, ‘wang’, ‘king’];
console.log(arr.shift()); //[‘wang’, ‘king’]

  • Array.unshift() 方法

// 队列方法, 在数组的开头添加一个后多个元素,并返回新的数组长度
var arr = [‘conan’, ‘wang’, ‘king’];
console.log(arr.unshift(‘handsome’)); //[‘conan’, ‘wang’, ‘king’,‘handsome’]

  • Array.sort()方法

//重排序方法 //默认情况下是按照unicode编码进行排序,
var arr = [1,2,5,3,6,7,4]
console.log(arr.sort(function(a,b) {return a-b})); //[1,2,3,4,5,6,7]

  • Array.reverse()方法

// 重排序方法 将数组进行一个反转数组,并返回反转数组
var arr = [7,6,5,4,3,2,1]
console.log(arr.reverse()); //[1,2,3,4,5,6,7]

  • Array.concat() 方法

// 操作方法 :将数组进行合并 并返回合并后的数组
var num1 = [1,2,3], num2 = [4,5,6];
console.log(num1.concat(num2)); //[1,2,3,4,5,6]

  • Array.slice() 方法

// 操作方法: 拷贝数组片段,不会改变原数组,并返回选取的片段。
// Array.slice(startIndex, endIndex) / 不包括结束索引
var arr = [‘wang’, ‘conan’, ‘is’, ‘king’];
console.log(arr.slice(1, 2)); // [‘conan’]

  • Array.splice()方法

// 操作方法: 通过删除或替换现有元素或在原数组中添加新元素来修改数组,以数组的形式返回被修改的部分。
var arr = [‘wang’, ‘conan’, ‘deng’];
console.log(arr.splice(0,1)); //删除 返回删除的元素的数组
console.log(arr.splice(1,0,‘dani’)); //插入 返回空数组
console.log(arr.splice(1,1,‘dani’)); //替换 返回被删除的数组

  • Array.indexOf() 方法

// 位置方法:返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1.
// 参数: (需要查找的元素/ 查找的起点)
var arr = [‘wang’, ‘conan’,‘king’]
console.log(arr.indexOf(‘king’)); //2

  • Array.lastIndexOf()方法

// 位置方法: 反向查询并返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1.

  • Array.every() 方法

// 迭代方法: Array.every(function(item, index, array) {}) 全true为true 返回true/false 检测数组的方法,可以传入一个检测函数作为 callback()

  • Array.some() 方法

// 迭代方法: Array.some(function(item, index, array) {}) 一true为true 返回true/false 只要有一个元素满足条件,就立刻返回 true

  • Array.filter() 方法

// 迭代方法: Array.filter(function(item, index, array) {}) 返回基于测试函数 callback() 的返回值,筛选出原数组中符合条件的元素,组成新数组并返回; 不会修改原数组,也不能提前结束遍历

  • Array.forEach() 方法

// 迭代方法: Array.forEach(function(item, index, array) {}) 没有返回值 相当于for循环 无法中止遍历

  • Array.map() 方法

// 迭代方法: Array.map(function(item, index, array) {}) 返回重构数组

  • Array.find() 方法

// 迭代方法: Array.find(function(item, index, array) {}) 返回满足测试函数的元素数组的的第一个值并终止遍历 否则为undefined

  • Array.reduce() 方法

归并方法:Array.reduce(function(acc, cur, index, array) {}, inintalValue) 返回计算结果 具有的累计器的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值