在Javascript中,我试图获取一个初始数值值数组并计算其中的元素.理想情况下,结果将是两个新数组,第一个指定每个唯一元素,第二个包含每个元素出现的次数.但是,我愿意接受有关输出格式的建议.
例如,如果初始数组是:
5, 5, 5, 2, 2, 2, 2, 2, 9, 4
Run Code Online (Sandbox Code Playgroud)
然后将创建两个新阵列.第一个将包含每个唯一元素的名称:
5, 2, 9, 4
Run Code Online (Sandbox Code Playgroud)
第二个将包含元素在初始数组中出现的次数:
3, 5, 1, 1
Run Code Online (Sandbox Code Playgroud)
因为数字5在初始数组中出现三次,所以数字2出现五次,9和4出现一次.
我经常搜索一个解决方案,但似乎没有任何工作,我自己尝试过的所有东西都变得荒谬复杂.任何帮助,将不胜感激!
谢谢 :)
找出一个数组元素出现多少次有一些很好的答案,我真的很喜欢Oriol的答案,但似乎无法弄清楚逻辑。
这里是:
function countInArray(array, value) {
return array.reduce((n, x) => n + (x === value), 0);
}
console.log(countInArray([1, 2, 3, 4, 4, 4, 3], 4)); // 3Run Code Online (Sandbox Code Playgroud)
我看过https://www.geeksforgeeks.org/javascript-array-reduce-method/和https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/减少,但我仍然对复杂性感到困惑。
我知道0是起始总数,根据实际情况x===1应该等于1或0。
我主要与n混淆,因为我读到n是前一个函数的返回值,但是开始时没有前一个函数。
刚开始学习 JS 并进行了关于循环的测试,但没有成功找到答案:我想看看数字 1 在数组中出现了多少次。当 1 出现在数组中时,我所能做的就是得到一个真正的答案。自上周三以来一直试图解决这个问题..谢谢!
var v = [1, 3, 5, 4, 3, 0, 0, 1, 1];
count = 1;
for (var i = 0; i < v.length; i++){
console.log (count == v[i])
}
Run Code Online (Sandbox Code Playgroud) 我需要知道一个元素是否在数组中两次或多次.
var arr = [elm1,elm2,elm3,elm3,elm4,elm5,elm5,elm5,elm6,elm7] ;
if(elm is in array by many time ){
// do some code with this element
}else{
// other stuff ;;
}
Run Code Online (Sandbox Code Playgroud)
有什么建议 ?