値を合計しながら配列の配列の一意のアイテムを組み合わせる-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>