Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

2つの配列間のJavaScript一致


たとえば、文字列リテラルとオブジェクトの2つの配列があるとします。

const data = [{
   name: 'Kamlesh Kapasi',
   uid: 123
}, {
      name: 'Mahesh Babu',
      uid: 129
}, {
      name: 'Akshay Kapoor',
      uid: 223
}, {
      name: 'Vikas Gupta',
      uid: 423
}, {
      name: 'Mohit Dalal',
      uid: 133
}, {
      name: 'Rajkumar Hirani',
      uid: 233
}, {
      name: 'Joy',
      uid: 127
}];
const names = ['Joy', 'Rajkumar Hirani', 'Akshay Kapoor', 'Mahesh Babu',
'Mohit Dalal', 'Kamlesh Kapasi', 'Vikas Gupta']

私たちの仕事は、names配列を反復処理し、names配列に表示されるのと同じ順序で特定の名前のuidを含むNumbersの配列を作成する関数を作成することです。

この関数のコードを書いてみましょう-

const data = [{
   name: 'Kamlesh Kapasi',
   uid: 123
}, {
      name: 'Mahesh Babu',
      uid: 129
}, {
      name: 'Akshay Kapoor',
      uid: 223
}, {
      name: 'Vikas Gupta',
      uid: 423
}, {
      name: 'Mohit Dalal',
      uid: 133
}, {
      name: 'Rajkumar Hirani',
      uid: 233
}, {
      name: 'Joy',
      uid: 127
}];
const names = ['Joy', 'Rajkumar Hirani', 'Akshay Kapoor', 'Mahesh Babu',
'Mohit Dalal', 'Kamlesh Kapasi', 'Vikas Gupta']
const mapId = (arr, names) => {
   return names.reduce((acc, val) => {
      const index = arr.findIndex(el => el.name === val);
      return acc.concat(arr[index].uid);
   }, []);
}
console.log(mapId(data, names));

出力

コンソールの出力は-

になります
[
   127, 233, 223,
   129, 133, 123,
   423
]

  1. 配列とJavaScriptでの設定。

    Setデータ型はES2015で導入されました。配列とセットの違いは、配列には重複する値を含めることができますが、セットにはできないことです。要素は、キーを使用し、要素は入力された方法でのみトラバースできるため、Setでは不可能なインデックスを使用して配列でアクセスできます。 以下は、JavaScriptの配列と設定の違いを表示するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name=&

  2. 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>   &n