Terdapat tatasusunan, contohnya var numArr = ["A", "C", "B", "A", "C", "D", "A", "C"], cara menapis elemen yang sama dan bilangan elemen yang sama
var numArr = ["A", "C", "B", "A", "C", "D", "A", "C"]
走同样的路,发现不同的人生
Gelung mudah akan muncul
["A", "C", "B", "A", "C", "D", "A", "C","B"].reduce((r,v)=>{ r[0].has(v)?r[1][v]?r[1][v]++:r[1][v]=2:r[0].add(v); return r; },[new Set,{}])[1] // {A: 3, C: 3, B: 2}
Adakah ini kesannya? Pilih elemen berulang (bilangan kejadian lebih besar daripada atau sama dengan 2) dan kira bilangan kejadian setiap elemen berulang?
function checkArray(para, arr) { let processArr = arr.filter(function(value) { return value == para; }); return processArr.length; // 这里返回数组长度或者相应处理 } console.log(checkArray(1, numArr));
Anda boleh menggunakan Map
["1", "2", 2, 0, -0, NaN, NaN, [], [], {}, {}, undefined, , , null].reduce((m, k) => { return m.set(k, (m.get(k) || 0) + 1); }, new Map());
Ikut peraturan berikut:
NaN = NaN
+0 = -0
"1" != 1
{} != {}
[] != []
undefined != null
Elemen kosong tidak dikira
var obj={},arr=["A", "C", "B", "A", "C", "D", "A", "C","B"] //for for(var i=0,len=arr.length;i<len;i++){ if(obj[arr[i]]){ obj[arr[i]]++ } else{ obj[arr[i]]=1 } } //forEach arr.forEach(function(item,i){obj[arr[i]]?obj[arr[i]]++:obj[arr[i]]=1})
Gelung mudah akan muncul
Adakah ini kesannya? Pilih elemen berulang (bilangan kejadian lebih besar daripada atau sama dengan 2) dan kira bilangan kejadian setiap elemen berulang?
Anda boleh menggunakan Map
Ikut peraturan berikut:
NaN = NaN
+0 = -0
"1" != 1
{} != {}
[] != []
undefined != null
Elemen kosong tidak dikira