下記の重複確認部分(bl取得部分)は、簡略化して書くことは出来るでしょうか。
includesが使えないので。
javascript
1 2//データ 3let aryData = [{id_1 : "11", id_2 : "12", data : "aaaa"}, 4 {id_1 : "21", id_2 : "22", data : "bbbb"}, 5 {id_1 : "31", id_2 : "32", data : "cccc"}, 6 {id_1 : "41", id_2 : "42", data : "dddd"}]; 7 8//確認id 9let id_1 = "32"; 10let id_2 = "31"; 11 12//重複確認 13let bl = false; 14 15//データループ 16for(let data of aryData){ 17 if((data["id_1"] == id_1 && data["id_2"] == id_2) || 18 (data["id_1"] == id_2 && data["id_2"] == id_1))bl = true; 19} 20 21//重複なければ処理 22if(!bl){ 23 console.log("shori"); 24}
追記
filterに条件式を書けば、出来そうですね。
下記で良いのかな。
javascript
1let ary = aryData.filter(data => { 2 (data["id_1"] == id_1 && data["id_2"] == id_2) || 3 (data["id_1"] == id_2 && data["id_2"] == id_1) 4}); 5 6if(ary.length == 0){ 7 console.log("処理"); 8} 9
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/18 03:03
2018/12/18 03:06
2018/12/18 03:47
2018/12/19 09:36