我有一个这样的数组:
->orderBy('id', 'DESC');
结果(一个新数组)应该只显示在这个数组中正好是2次的所有值,例如:a
你们知道我怎么能意识到这一点吗?感谢
答案 0 :(得分:0)
您可以先使用forEach
循环创建对象并添加属性,然后在filter
上使用Object.keys
来返回数组。
var arr = ['a','a','b','b','b','c'];
var o = {}
arr.forEach(e => o[e] = (o[e] || 0) + 1);
var result = Object.keys(o).filter(e => o[e] == 2);
console.log(result)
答案 1 :(得分:0)
请尝试以下代码:
var arr = ['a','a','b','b','b','c'];
var numberOfOccurrences = {};
arr.forEach(function (item) {
numberOfOccurrences[item] = (numberOfOccurrences[item] || 0) + 1;
});
var duplicates = Object.keys(numberOfOccurrences).filter(function (item) { return numberOfOccurrences[item] === 2 });
console.log(duplicates);