前提・実現したいこと
当方、JS初学者です。
vue.jsを使ってアプリを開発しており、
①配列を参照→
②参照した配列から、条件を基に新たな配列を作る→
③その配列内のデータを基に別の配列からデータを持ってきて、置き換える
というシステムを作成しようとしていたのですが、③の時点で何故か参照基のデータまで勝手に置き換わってしまいます。
半日ほどかけても解決に至らず途方に暮れています。。。
問題解決にお力添え頂けますと幸いです。
発生している問題・エラーメッセージ
上記の通りです
該当のソースコード
javascript
1 2 const ptdatafiltered = this.pts.filter((included) => { 3 return ( included.m1 === this.temp.name || included.m2 === this.temp.name || included.m3 === this.temp.name || included.u1 === this.temp.name || included.u2 === this.temp.name || included.u3 === this.temp.name ); 4 }); 5 6 this.temppt1.splice(0,100000,ptdatafiltered) 7 8 this.lengthincludedpt = this.temppt1.length 9 10 for (let i = 0; i < this.lengthincludedpt; i++) { 11 this.temppt1[i].m1 = this.charactors.filter((included) => { return ( included.name === this.temppt1[i].m1 );}); 12 this.temppt1[i].m2 = this.charactors.filter((included) => { return ( included.name === this.temppt1[i].m2 );}); 13 this.temppt1[i].m3 = this.charactors.filter((included) => { return ( included.name === this.temppt1[i].m3 );}); 14 this.temppt1[i].u1 = this.charactors.filter((included) => { return ( included.name === this.temppt1[i].u1 );}); 15 this.temppt1[i].u2 = this.charactors.filter((included) => { return ( included.name === this.temppt1[i].u2 );}); 16 this.temppt1[i].u3 = this.charactors.filter((included) => { return ( included.name === this.temppt1[i].u3 );}); 17 this.temppt1[i].w1 = this.weapons.filter((included) => { return ( included.name === this.temppt1[i].w1 );}); 18 this.temppt1[i].w2 = this.weapons.filter((included) => { return ( included.name === this.temppt1[i].w2 );}); 19 this.temppt1[i].w3 = this.weapons.filter((included) => { return ( included.name === this.temppt1[i].w3 );}); 20 this.temppt1[i].a1 = this.weapons.filter((included) => { return ( included.name === this.temppt1[i].a1 );}); 21 this.temppt1[i].a2 = this.weapons.filter((included) => { return ( included.name === this.temppt1[i].a2 );}); 22 this.temppt1[i].a3 = this.weapons.filter((included) => { return ( included.name === this.temppt1[i].a3 );}); 23 this.temppt1[i].number = i 24 } 25
試したこと
pts → 絞り込みを行って、temppt1にデータを送ります。勝手に書き換わる〜と言うのはこちらのデータになります。
代入方法をspliceからpushに変えたり、filterをfindに変えてみても上手くいきませんでした。
補足情報(FW/ツールのバージョンなど)
vue 2.6.12
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/15 22:48