+ JavaScript & jQuery 質問用スレッド vol.7 + [無断転載禁止]©2ch.net (711レス)
上下前次1-新
抽出解除 レス栞
579(3): 2022/05/10(火)00:09 ID:??? AAS
配列の質問です
var array = [
{id:"a"},
{id:"o"}
{id:"b"},
{id:"a"},
{id:"b"},
{id:"x"}
];
という配列からidが重複している要素のindexを調べたいのですがどうすればよいのでしょうか?
省1
580: 2022/05/10(火)02:37 ID:??? AAS
>>579
{ a: [0, 3], b: [2, 4], o: [1], x: [5] }の形に変換して値の配列の長さでfilterする
var dict = array.reduce((acc, curr, i)=> {
acc[curr.id] ? acc[curr.id].push(i) : acc[curr.id] = [i];
return acc;
}, {});
Object.values(dict).filter(x => x.length >= 2); //0,3,2,4
584: 579 2022/05/10(火)08:42 ID:??? AAS
ありがとうございます
レベル高すぎて素直に尊敬します
594: 581 2022/05/14(土)14:20 ID:??? AAS
>>579
関数型言語のElixir で、分かりやすいように、各処理を分けて作ってみた。
本当は、各処理をパイプでつなげていくもの
input_kw_list = [ id: "a", id: "o", id: "b", id: "a", id: "b", id: "x" ]
input_list = Keyword.values( input_kw_list ) # 値だけを抜き出す
IO.inspect input_list
#=> ["a", "o", "b", "a", "b", "x"]
grouped_map = Enum.frequencies( input_list ) # 出現回数でグループ化する
IO.inspect grouped_map
#=> %{"a" => 2, "b" => 2, "o" => 1, "x" => 1}
省13
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 1.022s*