概述
其实数组就是一个可以存放很多数据的变量
ES5数组的方法有:
1,concat(),连接两个或者多个数组,并返回结果
它并不会改变原来的数组,返回的数组只是原数组的一个副本
const arr = [1, 2, 3]
const brr = [4, 5]
const crr = [6, 7]
const drr = arr.concat(brr)
const err = arr.concat(brr, crr)
const frr = arr.concat(crr)
console.log(drr) //[1,2,3,4,5]
console.log(err) //[1,2,3,4,5,6,7]
console.log(frr);//[1,2,3,6,7]
2.join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
语法:arrayObject.join(separator)
// join方法
const arr = [1,2,3]
console.log(arr.join(’.’)) // 1.2.3
3,pop方法用于删除并返回数组的最后一个元素。
它会改变原来的数组
语法:arrayObject.pop()
let a = [1, 2, 3]
let b = a.pop()
console.log(b); //3返回的是删除的元素,并返回
4,push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
let a = [1, 2, 3]
let b = [4, 5, 6]
let c = [7, 8]
let aa = a.push(b)
console.log(a);//返回[ 1, 2, 3, [ 4, 5, 6 ] ]
5、reverse() 方法用于颠倒数组中元素的顺序。
语法:arrayObject.reverse()
const arr = [1,2,'a']
const brr = arr.reverse()
console.log(brr) //['a',2,1]
6.shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法:arrayObject.shift()
const arr = [1,2,3]
const brr = arr.shift()
console.log(arr) //2,3
7、bind方法
函数身上的方法,返回值是一个人this变量值发生变化的函数,返回一个新的函数
this是函数内部默认的一个内置变量(严格模式下,this指向是undefined)
1、
在全局环境中使用this的指向(值)是window
2、在函数内部,this指向的 还是window
3、在对象的方法内部,this指向的是方法的拥有者
8、reduce()方法:归并
语法:arr.reduce(function(previous, current, index, arr){}
,initialValue);遍历数组从左往右
function:回调函数
previous:上一次计算的结果,先前值
current:当前值
index:当前值的下标(不打印第一个arr[0]的下标,arr[0]充当了previous)
arr:数组
initialValue:初始化的了一个先前值
9、reduceRight()方法:归并
语法:arr.reduceRight(function(previous, current, index, arr){}
,initialValue);遍历数组的方法从右往左,其余和reduce方法一样
10、Array.isArray()方法
判断某个变量是否为数组
11、字符串新增的方法:
trim():忽略字符串左右两侧的空格,只去除左右两端的空格
12、ES中新增的JSON对象的方法
JSON:一种轻量级的数字交换机制,就是一个对象
JSON.stringify():将一个对象格式化成JSON字符串,不会格式化方法,只会把方法去掉
JSON.parse():将一个JSON格式的字符串转换为对象,字符串中的键必须用双引号包起来,如果不包起来就会报错,不能加方法,因为方法也是在一个字符串中包含着
13、Array.from()将类数组转为数组。
14、Array.of():将一组值转为数组。
15splice
splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目
语法:arrayObject.splice(index,howmany,item1,…,itemX)
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 howmany 必需。要删除的项目数量。如果设置为
0,则不会删除项目。
ES6的属性和方法
1、forEach()方法
它有三个参数:item 表示每次迭代的元素,index 表示每次迭代元素的下标,array 表示原数组
语法:arr.forEach(function(v,k,arr){},context);//v : value ; k : key;
context:改变函数的this的指向,如果不改变,默认指向window
2、map()方法 :映射
他也有三个参数:item 表示每次迭代的元素,index 表示每次迭代元素的下标,array 表示原数组
语法:arr.map(function(v,k,arr){},context);//v : value ; k : key;
遍历数组,将信数组执行以后存储起来,并返回一个新数组
map与forEach的异同
1,相同点 都是循环遍历数组中的每一项
2, forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项),index(索引值),arr(原数组)
3,匿名函数中的this都是指向window 只能遍历数组 都不会改变原数组 区别
map方法1.map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。
2.map方法不会对空数组进行检测侧,map方法不会改变原数组。
3.map支持return返回值,也不影响原数组,但是会返回一个新的数组。
4.若arr为空数组,则map方法返回的也是一个空数组。
forEach方法
1.forEach方法用来调用数组的每个元素,将元素传给回调函数。
2.forEach对于空数组是不会调用回调函数的,无论arr是不是空数组,forEach返回的都是undefined。这个方法只是将数组中的每一项作为callback的参数执行一次。
3.forEach不支持return,对原来的数组也没有影响。但是我们可以自己通过数组的索引来修改原来的数组。
3、filter()方法:过滤
语法:arr.filter(callback(element[, index[, array]])[, thisArg])
callback 必选。用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。
它接受以下三个参数: element 数组中当前正在处理的元素。 index 可选。正在处理的元素在数组中的索引。array 调用了 filter 的数组本身。 thisArg 执行 callback 时,用于 this 的值
返回一个布尔值,如果返回值是true就存储起来,如果是false,就过滤,最后返回一个过滤后的新数组
4、some()方法:起到或的作用(||)
语法:array.some(function(item,index,array)
//item:当前元素的值;
//index:当前元素的索引;
// array:当前元素的数组对象;判定一个数组是否符合某个条件,如果有一项符合返回true,如果一项都不符合,返回false;
5、every()方法:起到与的作用(&&)
语法array.every(function(item,index,array)
判定一个数组是否符合某个条件,如果有一下该不符合就返回false,如果都符合返回true
6、indexOf()方法:在数组中查找某个元素
语法:indexOf(查找的元素,‘开始位置’)
返回值:从左往右查找,如果找到返回这个元素的下标,如果找不到,返回-1,严格去查找,字符串和数字明确分辨,第二个参数也支持负数,从右向左查找
7、lastIndexOf()方法:在数组中查找某个元素
语法:lastIndexOf(查找的元素,‘开始位置’)
返回值:从右往左查找,如果找到返回这个元素的下标,如果找不到,返回-1,严格去查找,字符串和数字明确分辨,第二个参数也支持负数,从左往右查找
1.只有一个参数时,lastIndexOf从右向左找第一个item,找到就返回索引值。例如:arr.lastIndexOf(3)-----从右向左找第一个3,索引值为5,所以结果就是5。
2.两个参数时,arr.lastIndexOf(3,2)------在索引0—2之间找3,其索引值为2,所以结果就是2。 arr.lastIndexOf(4,6)------在索引0—6之间找4,其索引值为4,所以结果就是4
最后
以上就是多情世界为你收集整理的ES5,ES6中数组的方法分别有什么,详解的全部内容,希望文章能够帮你解决ES5,ES6中数组的方法分别有什么,详解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复