6.数组的API

6.数组的API

问题:数组的pop push unshift shift 分别做什么
回答思路:1.功能是什么
2.返回值是什么
3.是否会对原数组造成影响

arr.pop() //删除数组最后一位,返回最后一位
arr.push(50) //数组中往后追加一位50,返回的是数组长度length
arr.unshift(15)//数组中往前追加一位15,返回的是数组长度length
arr.shift()//删除数组中的第一位10,并返回被删除的第一位10

这几种方法都改变了原数组,属于非纯函数

arr = [10, 20, 30, 40];
arr.pop() //删除数组最后一位原数组变为[10, 20, 30],返回40
arr.push(50) //数组中往后追加一位50[10, 20, 30, 40, 50],返回的是数组长度 5
arr.unshift(15)//数组中往前追加一位15,原数组变为[15,10,20,30],返回数组长度5
arr.shift()//删除数组中的第一位,原数组变为[20, 30, 40],并返回第一位10

那么什么是纯函数?数组常见的其他api又有哪些?

纯函数的特点:1.不改变原数组(不会对原数组造成污染)2.返回的内容是一个数组。

arr = [10, 20, 30, 40];
arr.concat([50, 60, 70]) //向后拼接数组,并返回新的数组 [[10, 20, 30, 40, 50, 60, 70]]
arr.map ( num => num * 10 ) //数组中所有元素都×10,返回的是新数组
arr.filter( num => num > 15)//返回数组中大于15的所有值组成的新数组[20, 30, 40]
arr.slice()//slice是剪接,slice()返回的就是原数组
arr.slice(1,4)//截取索引值为1到2的数组对应的值,[20, 30]

这些操作并不会污染原数组。只是返回一个新的数组。是纯函数。

猜你喜欢

转载自blog.csdn.net/Qingshan_z/article/details/119733929