在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出现一次.
我经常搜索一个解决方案,但似乎没有任何工作,我自己尝试过的所有东西都变得荒谬复杂.任何帮助,将不胜感激!
谢谢 :)
我要做的第一件事是找出我在输入中键入的数字是否存在于数组中,这是有效的。
我要做的第二件事是找出它存在多少次。我在这里有点走对了路吗?
<input id="hvorMange" type="number">
<button type="button" onclick="skrivUt12()">Finn tallet</button>
<p id="skrivUt12"></p>
var liste = [12,14,13,76,5,1,23,12,87,124,674,98,3,7,-3,5];
function skrivUt12(){
var tall = +document.getElementById("hvorMange").value;
var sum = 0;
for(i = 0; i < liste.length; i++) {
if (tall === liste[i]) {
sum++;
document.getElementById("skrivUt12").innerHTML = "Tallet " + tall + " finnes " + sum + " antall ganger";
return true;
}
else {
document.getElementById("skrivUt12").innerHTML = "Tallet " + tall + " finnes ikke";
}
}
}
Run Code Online (Sandbox Code Playgroud) 有没有一种聪明的方法来找出数组中是否至少有两个大于 0 的值并返回true
?而false
在相反的情况?
(使用一些假设和错误的例子):
const a = [9, 1, 0];
const b = [0, 0, 0];
const c = [5, 0, 0];
const cond = (el) => el > 0 && somethingElseMaybe;
console.log(a.some(cond)); // print true
console.log(b.some(cond)); // print false
console.log(c.some(cond)); // print false
Run Code Online (Sandbox Code Playgroud)