JS中filter方法未赋值时新数组存储位置及返回形式疑问
关于Array.filter()的两个问题解答
示例代码
var arr = ["apple", "mango", "apple", "orange", "mango", "mango"]; function removeDuplicates(arr) { return arr.filter((item, index) => arr.indexOf(item) === index); } console.log(removeDuplicates(arr));
问题解答
filter方法返回的是整个新数组
filter会遍历原数组的所有元素,执行你传入的回调函数,将回调返回true的元素全部收集起来,最后一次性返回一个包含这些元素的新数组,不会逐个返回单个元素。未赋值的新数组的去向
filter创建的新数组如果没有被赋值给任何变量,它会作为一个临时存在的对象,在当前执行语句完成后,就会被JavaScript的垃圾回收机制判定为“无引用”对象,等待被回收销毁,不会被存储在任何可被你访问的位置,相当于用完就被丢弃了。
内容的提问来源于stack exchange,提问作者csAshish
相关产品推荐
相关产品推荐

