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

JavaScriptの画像データを含む配列から重複する値を削除します


このような配列内のいくつかの画像に関するデータがあるとします-

const arr = [{
   'image': "jv2bcutaxrms4i_img.png",
   'gallery_image': true
},
{
   'image': "abs.png",
   'gallery_image': true
},
{
   'image': "acd.png",
   'gallery_image': false
},
{
   'image': "jv2bcutaxrms4i_img.png",
   'gallery_image': true
},
{
   'image': "abs.png",
   'gallery_image': true
},
{
   'image': "acd.png",
   'gallery_image': false
}];

そのような配列を1つ取り込むJavaScript関数を作成する必要があります。

この関数は、「image」プロパティの値が重複しているオブジェクトを配列から削除する必要があります。

このためのコードは-

になります
const arr = [{
   'image': "jv2bcutaxrms4i_img.png",
   'gallery_image': true
},
{
   'image': "abs.png",
   'gallery_image': true
},
{
   'image': "acd.png",
   'gallery_image': false
},
{
   'image': "jv2bcutaxrms4i_img.png",
   'gallery_image': true
},
{
   'image': "abs.png",
   'gallery_image': true
},
{
   'image': "acd.png",
   'gallery_image': false
}];
const buildUnique = (arr = []) => {
   const unique = [];
   arr.forEach(obj => {
      let found = false;
      unique.forEach(uniqueObj => {
         if(uniqueObj.image === obj.image) {
            found = true;
         };
      });
      if(!found){
         unique.push(obj);
      };
   });
   return unique;
};
console.log(buildUnique(arr));

出力

そして、コンソールの出力は-

になります
[
   { image: 'jv2bcutaxrms4i_img.png', gallery_image: true },
   { image: 'abs.png', gallery_image: true },
   { image: 'acd.png', gallery_image: false }
]

  1. Javascriptの配列の特定の位置から要素を削除する

    配列内の特定の位置から要素を削除する必要がある場合があります。 JavaScriptは、指定されたインデックスから削除するためのspliceメソッドを提供します。次のように使用できます- 例 let veggies = ["Onion", "Raddish", "Broccoli"]; veggies.splice(0, 1); // Removes 1 element from index 0 console.log(veggies); 出力 これにより、出力が得られます- ["Raddish", "

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