数组的一些方法

这篇博客详细介绍了JavaScript数组的各种方法,包括concat()、copyWithin()、fill()、find()、findIndex()、indexOf()、lastIndexOf()、pop()、shift()、push()、unshift()、slice()、sort()、splice()、includes()、join()、Object.keys()、Object.values()、Object.entries()、forEach()、filter()、flat()和every()等。这些方法在数组操作中非常常见,对于理解和使用JavaScript数组至关重要。

console.dir(Array.prototype);

Array中的方法:

concat();用于连接两个或多个数组

不会改变现有的数组,而是返回被连接数组的副本

var a = [1,2,3];

var b=a.concat(4,5);

Console.log(b)//=>1,2,3,4,5

document.write(Object.prototype.toString.call(b));

copyWithin:在当前数组内部,将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组。

copyWithin(target,start,end); target:从该位置开始替换数据

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

end:到该位置前停止读取数据,默认等于数组长度,

[1, 2, 3, 4, 5].copyWithin(0, 3, 4)      索引3为start    索引为4的前一个结束;所以截取的为第4个元素,放在索引值0的位置

fill(value,start,end);value:填充的值,start:填充的起始位置,可以省略,默认从0开始,end:填充的结束位置,可以省略,世界结束位置是end-1

find()为es6中的方法  findIndex()方法中都是传入一个函数,这两个函数的功能几乎相同,都是寻找符合条件的第一个元素,find()函数是返回符合条件的第一个值;而findIndex()函数返回的则是符合条件的第一个的索引值

const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

var ret1 = arr1.find((value, index, arr1) => {//value值为当前值,index索引值,arr1需要查找的值

  return value > 4

})//=>返回值为5

 

var ret1 = arr1.findIndex((value, index, arr) => {

  return value > 4

})//=>返回值为4(索引值)

indexOf(),lastIndexOf(),两者的功能和findIndex()的功能几乎相同都是查找数组中值的索引值,find类的方法时查找符合条件的值,index系列的方法是某个值的索引

pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined

var a = [1,2,3,4,5];

var b = a.pop(); //a:[1,2,3,4] b:5

shift():删除数组的第一个元素,并返回第一个元素的值。

push:将参数添加到原数组末尾,并返回数组的长度

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

var a = [1,2,3,4,5];

var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7

slice//的英文意思是切片、薄片

slice(start,end), start开始分割的位置,end可选,默认值为数组的长度

sort() 方法用于对数组的元素进行排序。

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素

ncludes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

[1, 2, 3].includes(2);     // true

[1, 2, 3].includes(4);     // false

join() 方法用于把数组中的所有元素放入一个字符串;字符串转化为数组的方式’abcdddd’.split(),数组转化为字符串:[a,s,d,f,g,h].join(‘’)

Object.keys()、Object.values()、Object.entries(obj)

let obj = {

    name:"张三",

    sex:"男",

    age:20,

    height:150

}

 

for ( let key of Object.keys(obj)){

    console.log(key)

}

 

// name

// sex

// age

// height

Arr.forEach(函数把每个item传递给函数作为参数)

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

    

 arr.forEach(alert); 

filter()//中文意思是过滤,js中是过滤符合条件的值,与find类似,find是返回第一个符合条件的而filter是返回所有符合条件的

flat(),扁平化 [1, [2, [3]]].flat(Infinity)// [1, 2, 3]

every();检测数组中的所有项都符合条件时返回true,,every所接参数为函数 function(item,index,arr);参数item为当前元素,index当前下标

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值