您的位置:首页 > Web前端 > JavaScript

Javascript数组方法

2017-02-28 15:25 281 查看
1、concat()

合并链接数组,有返回值,返回合并后的数组,之前的两个数组没有发生变化

https://github.com/Jvid/knowledge/tree/master/array_method/concat.html
2、copyWithin(target,start,end)

数组实例的copyWithin方法,在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。也就是说,使用这个方法,会修改当前数组。原数组的长度不会发生改变

它接受三个参数。 start 和 end之间的数据是要的 替换那个开始位置之后的数据

target (必需):从该位置开始替换数据。

start (可选):从该位置开始读取数据,默认为 0 。如果为负值,表示倒数。

end (可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。

1).只写第一个参数 意味着将整个数组从下标为这个参数的位置覆盖 数组的长度不会发生改变 当参数为负数的时候从倒数这个位置开始覆盖

2).写两个参数 整数的时候第一个参数是要覆盖的位置 第二个参数数组开始下标 最大长度是数组长度 开始下标大于0越界则不变;小于0倒着数

3).三个参数 第一个开始要覆盖的位置 第二个参数数组开始下标 第三个参数数组结束下标 数值为负数则倒着数

https://github.com/Jvid/knowledge/tree/master/array_method/copyWithin.html
3、entries

Object.entries(obj/arr)会转化为一个二维数组 如果是对象 二维数组的第一个元素是属性第二个元素是属性值;如果是数组那么二维数组的第一个元素是下标,第二个元素是值

var arr = [1,2,3,4,5,56,6]

var obj = {a:1,b:2}

console.log(Object.entries(arr));//[[0,1],[1,2]...[6,6]]

console.log(Object.entries(obj));//[['a',1],['b',2]];

https://github.com/Jvid/knowledge/tree/master/array_method/entries.html
4、every

数组中的每一个元素都执行every中函数

every()中的函数是一个接受最多三个参数的函数。 every 方法会为 array1 中的每个元素调用 callbackfn 函数,直到 callbackfn 返回 false,或直到到达数组的结尾。返回true或者false

https://github.com/Jvid/knowledge/tree/master/array_method/every.html
5、fill

三个参数 第一个是想要的值 第二个参数是开始下标 第三个参数是结束下标 原数组会发生变化

var arr = [1,2,3,4,5]

//1个参数 将数组全部替换

// var arr1 = arr.fill(3); // 3,3,3,3,3

// console.log(arr1)

// console.log(arr)

// var arr1 = arr.fill('jvid');

// console.log(arr1) // 'jvid','jvid','jvid','jvid','jvid'

// var arr1 = arr.fill('jvid',1);

// console.log(arr1) // 1,'jvid','jvid','jvid','jvid'

// var arr1 = arr.fill('jvid',-1);

// console.log(arr1) // 1,2,3,4,'jvid'

// var arr1 = arr.fill('jvid',1,3);

// console.log(arr1) // 1,'jvid','jvid',4,5

// var arr1 = arr.fill('jvid',-1,-3); //结束下标要大于开始下标

// console.log(arr1) // 1,2,3,4,5

var arr1 = arr.fill('jvid',-3,-1);

console.log(arr1) // 1,2,'jvid','jvid',5

https://github.com/Jvid/knowledge/tree/master/array_method/fill.html
6、filter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。

注意: filter() 不会改变原始数组。

var arr = [1,2,3,4,5]

var arr1 = arr.filter(function(n){

return n%2 == 0

})

console.log(arr1) //2,4

将符合条件的重新组成一个数组

https://github.com/Jvid/knowledge/tree/master/array_method/filter.html
7、find

//返回数组中第一个符合条件的元素 如果没有返回undefined

var arr = [1,2,3,4,5]

function big(n){

return n >= 3;

}

function big2(n){

return n > 5;

}

var arr1 = arr.find(big);

console.log(arr1) //3

var arr2 = arr.find(big2);

console.log(arr2)//undefined

https://github.com/Jvid/knowledge/tree/master/array_method/find.html
8、findIndex

//查找数组中符合条件的第一个元素的下标 没有返回-1

var arr = [1,2,3,4,5]

function big(n){

return n >= 3

}

var arr1 = arr.findIndex(big);

console.log(arr1)//2

https://github.com/Jvid/knowledge/tree/master/array_method/findIndex.html
9、forEach 可以使用 break, continue 和 return 不可以遍历对象

没有返回值,只是对数组中的每一个元素进行一次处理原数组不会发生变化

myArr.forEach(function(value){

console.log(value)

})

https://github.com/Jvid/knowledge/tree/master/array_method/forEach.html
10、includes

includes(searchelement,startIndex)

两个参数 第一个参数必填 查看数组中是否存在这个值存在返回true不存在返回false

第二个参数可选 从数组的什么位置开始查找 负数的话倒着数

https://github.com/Jvid/knowledge/tree/master/array_method/includes.html
11、keys

keys() 方法返回一个新的Array迭代器,它包含数组中每个索引的键。
12、map
//对数组中的每一个元素进行操作 最后返回操作后的数组 原来数组不发生改变
//注意和forEach的区别 forEach不返回值 只是对数组中的每一个元素进行操作 原数组也不会发生变化
var arr = [1,2,3,4,5]
function db(n){
return 2*n
}
var arr2 = arr.map(db);
console.log(arr2)//2,4,6,8,10
console.log(arr)//1,2,3,4,5
https://github.com/Jvid/knowledge/tree/master/array_method/map.html
13、reduce 迭代的意思不是减少

var sum = [1, 2, 3, 4].reduce(function (previous, current, index, array) { return previous + current;});console.log(sum); // 10

运算结果作为previous 和 当前值进行运算

https://github.com/Jvid/knowledge/tree/master/array_method/reduce.html
14.some

数组中的每一个元素都执行some中函数

every()中的函数是一个接受最多三个参数的函数。 some 方法会为 array1 中的每个元素调用 callbackfn 函数,直到 callbackfn 返回true,或直到到达数组的结尾。返回true或者false

和every是相反的 every是每一个元素符合才返回true这个是只要有符合的就返回true

其他熟悉的:indexOf 、join、lastIndexOf、pop、push、shift、unshift,slice、sort、splice
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 数组方法 js