我想在Ionic3中删除存储阵列中的重复值
this.storage.get('thestations').then((val) => {
for(let i =0;i<val.length;i++){
if(this.newarray.indexOf(this.newarray) == -1) {
this.newarray.push(val[i]);
}
console.log(newarray);
});但它仍然返回重复的值
发布于 2017-10-26 19:54:40
使用Set的
var val = ["Banana", "Orange", "Apple", "Mango", "Mango"];
var newarray = Array.from(new Set(val));使用Reduce在此处进行检查
var val = ["Banana", "Orange", "Apple", "Mango", "Mango"];
var newarray = val.reduce(function(res, ele) {
if(res.indexOf(ele)==-1)
res.push(ele);
return res;
}, [])发布于 2018-08-25 16:28:06
一行: [...new Set(["Banana", "Orange", "Apple", "Mango", "Mango"])]
this.storage.get('thestations').then(val => {
console.log('with duplicates',val);
console.log('without duplicates',[...new Set(val)]);
})发布于 2018-12-17 14:47:13
我不知道,你是否解决了你的问题,但我有一个最有效的答案。
Javascript为我们提供了lodash库。如需完整文档,请访问Lodash Documentation。
Lodash为我们提供了数以千计的内置函数,如filter、unique、isEqual等等。
步骤1:您只需要通过以下命令安装lodash的npm包即可。
npm install lodash -保存
第2步:在组件文件中导入依赖项。
import * as lodash from 'lodash';步骤3:现在假设您有名为abcArr = 5,10,8,11,10,8的数组;并且您希望忽略所有重复的数字。
使用以下代码来获得预期的输出。
let abcArr = [5,10, 8, 11, 10, 8];
let uniqueArr = [];
uniqueArr = lodash.uniqWith(abcArr, lodash.isEqual);因此,您将获得如上所述的预期解决方案。希望如此,它会对你有所帮助。
https://stackoverflow.com/questions/46951694
复制相似问题