ryuryu1010
@ryuryu1010

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

filter関数動かない

下記のような感じのdata構造なのですが、filterをしようとすると,filter is not a functionとでます。なぜなのでしょうか?
instanceofでarrayか確認してもfalseになります。arrayなきがするのですが、正しいarrayにしたいです。
スクリーンショット 2022-01-20 9.53.49.png

スクリーンショット 2022-01-20 10.19.40.png

0

4Answer

以前の回答を編集しました。
次の記述でうまくいかないようなら私にはわかりません。

newSelectDisplayOrders.filter(x => x.id == 'ckyjj6bxt19th0908m0vf8ssu');
1Like

Comments

  1. @ryuryu1010

    Questioner

    そのdataを別のcomponentdでpropsとして使用するときに形が変になっているそうです。それだけ確認取れました。

もしかしてfilter関数の引数に何も渡していないのではないでしょうか?
以下のように条件式を与えると動くと思われます。

var h1Ary = Array.prototype.slice.call(document.getElementsByTagName('h1'));
h1Ary.filter(x => x.innerText == 'filter関数動かない');

以下、以前の回答です

これが一般的なやり方か知りませんが、
配列風オブジェクトを配列に変換する方法として次のやり方があります。

//任意の配列風オブジェクトを Objects とする
var aryObject = Array.prototype.slice.call(Objects);

あとはfilterなりmapなり好きなようにしてください。

0Like

だめでした、
下記のようなこともしてみてもはじめのconsoleにはdataがきますが2行目からは来ないです。
言われた通りしてみてもfilter is no a functionになります。

console.log('heheheherererere', newSelectDisplayOrders);
 const searchResultsList = Array.from(newSelectDisplayOrders);
  console.log('これ!!!', searchResultsList);
0Like

{ newSelectDisplayOrders: [...] } のような構造になっているのではないでしょうか。

newSelectDisplayOrders // Object
newSelectDisplayOrders.newSelectDisplayOrders // Array
0Like

Your answer might help someone💌