You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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));

问题解答

  1. filter方法返回的是整个新数组
    filter会遍历原数组的所有元素,执行你传入的回调函数,将回调返回true的元素全部收集起来,最后一次性返回一个包含这些元素的新数组,不会逐个返回单个元素。

  2. 未赋值的新数组的去向
    filter创建的新数组如果没有被赋值给任何变量,它会作为一个临时存在的对象,在当前执行语句完成后,就会被JavaScript的垃圾回收机制判定为“无引用”对象,等待被回收销毁,不会被存储在任何可被你访问的位置,相当于用完就被丢弃了。

内容的提问来源于stack exchange,提问作者csAshish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 03:01:06