Vuejsを使っております。
思ったようにpushが機能していないのですが、以下のコードでどこに問題がありますでしょうか?
CurrentUserというオブジェクトの中にlikeProjectという配列があり、その配列の中にはお気に入りのプロジェクトのプロジェクトID(文字列)が入っています。
computed: { allProjects: { get: function(){ return this.$store.getters.allProjects; }, }, currentUser: { get: function(){ return this.$store.getters.currentUser; }, }, myFavoriteProjects(){ var myFavoriteProjects = []; var deleted = []; let self = this; for(var i=0; i < this.currentUser.likeProject.length; i++){ //いいねしたプロジェクトと同じidのプロジェクトのオブジェクトを配列に入れていく var a = this.allProjects.filter(function (element) { return element.id === self.currentUser.likeProject[i]; }); myFavoriteProjects.push(...a); //もし過去にいいねしたプロジェクトが削除されていたら、そのIDをdeletedに格納していきたい。 //(あとの処理でそれをcurrentUser.likeProjectから消すため) if(a === []){ deleted.push(this.currentUser.likeProject[i]); } } console.log(deleted); //pushされておらず[]と表示されます。 return myFavoriteProjects; } }
回答1件
あなたの回答
tips
プレビュー