値を合計しながら配列の配列の一意のアイテムを組み合わせる-JavaScript
配列の配列があり、各サブ配列には正確に2つの要素が含まれています。最初は文字列、この場合は個人名、2番目は整数です。必要なのは、最初の要素が同じで2番目の要素を持つすべてのサブ配列を結合することです。一般的なサブ配列の2番目の要素の合計である必要があります。
以下は、配列の例です-
const example = [[ 'first', 12 ], [ 'second', 19 ], [ 'first', 7 ]];
次のように変換する必要があります
const example = [[ 'first', 19 ], [ 'second', 19 ] ];
配列を入力として受け取り、結合された配列を出力として返す関数combineArray()を作成するとします。同じコードは、-
になります。例
const people = [
['Ram', 21],
['Mohan', 33],
['Vikram', 25],
['Mike', 29],
['Mohan', 41],
['Vikram', 26]
];
const combineArray = (people) => {
const map = {};
for(const index in people){
const name = people[index][0];
const prop = people[index][1];
if(map[name]){
map[name] += prop;
}else{
map[name] = prop;
}
}
return Object.keys(map).map(key => [key, map[key]]);
}
console.log(combineArray(people)); 出力
コンソールの出力は-
になります[ [ 'Ram', 21 ], [ 'Mohan', 74 ], [ 'Vikram', 51 ], [ 'Mike', 29 ] ]
CombineArray関数を理解する-
配列を繰り返し処理し、名前をkeyとしてマップし、propを値としてオブジェクトにマップし、重複するキーが確実に追加され、最後にオブジェクトが配列の配列に変換されて返されます。
この関数の時間計算量はO(2n) 多くの場合、 O(n)に丸められます。 スペースの複雑さはO(n) 同様に。
-
JavaScript array.values()
JavaScriptのarray.values()は、指定された配列のすべての値を含むイテレータオブジェクトを返します。 以下は、array.values()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-
JavaScript配列のすべての一意の値を取得するにはどうすればよいですか?
以下は、JavaScript配列内のすべての一意の値を取得するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>