gpt4 book ai didi

javascript map函数去除逗号并保留唯一值

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:21:19 26 4
gpt4 key购买 nike

我有以下 map 函数来去除对象中的每个元素(如果存在)。

var items = ['mum, dad', 'uncle, dad', 'brother, sister'];
var clean = [];
clean = items.filter(function(item) {
return item.split(',');
});

问题是我没有得到预期的结果。我的 clean 输出与 items 输出相同。它应该是这样的:

console.log(items) //  ['mum, dad', 'uncle, dad', 'brother, sister']
console.log(clean) // ['mum', dad', 'uncle', dad', 'brother', sister']

还有一点,我怎样才能只得到唯一值,正如你所看到的,一旦它们的逗号被去掉,一些值就会重复,比如dad,我怎样才能保持只有一个?

最佳答案

您可以使用 map() 代替 filter 和 ES6 Set 以仅返回唯一元素。

var items = ['mum, dad', 'uncle, dad', 'brother, sister'];
var clean = [...new Set([].concat(...items.map(e => e.split(', '))))]

console.log(clean)

对于 IE 和其他旧版本的浏览器,您可以使用此解决方案。

var items = ['mum, dad', 'uncle, dad', 'brother, sister'];
var clean = [].concat.apply([], items.map(function(e) {
return e.split(', ');
})).filter(function(e) {
return !this[e] ? this[e] = 1 : false;
}, {})

console.log(clean)

关于javascript map函数去除逗号并保留唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45588102/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com