本文介绍了一个用于过滤数组中重复元素并禁止插入空值的 JavaScript 函数。该函数通过遍历原数组,剔除与指定字符串相同的项,并在非空情况下将新值加入结果集。代码展示了基本的循环与条件判断逻辑,适用于简单的数据清洗场景。
JavaScript 数组去重与空值过滤函数实现
具体实现代码如下所示:
定义一个名为 filterArray 的函数,接收 str 和 array 两个参数。该函数的主要功能是过滤数组中重复的元素,同时不允许插入空值,最终返回处理后的数组。
初始化一个布尔变量 isnull 为 false。
判断传入的 str 参数是否为空字符串、null 或 'undefined'。
如果上述条件成立,则将 isnull 设为 true。
}
初始化变量 newnum 为 0,用于记录新数组的索引。
创建一个空数组 newarray 用于存储结果。
获取原数组 array 的长度,赋值给变量 num。
判断数组长度 num 是否为 0。
如果 isnull 为 false(即 str 不为空),则执行以下操作:
将 str 赋值给新数组 newarray 的第 num 个位置。
}
否则(即 str 为空),执行以下循环:
使用 for 循环,变量 m 从 0 遍历到 num-1。
判断 str 是否等于数组中的第 m 个元素 array[m]。
如果相等,则跳出当前循环(break)。
如果不相等,则执行以下操作:
将 array[m] 赋值给新数组 newarray,索引为 newnum,并将 newnum 自增 1。
}
}
再次判断 isnull 是否为 false。
如果为 false,则将 str 赋值给新数组 newarray,索引为 newnum,并将 newnum 自增 1。
}
}
返回新数组 newarray。
} 原文出处:http://www.52blogger.com/archives/588