質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

724閲覧

pushメソッドの使用方法に関して

yamazaki619

総合スコア4

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2020/08/05 14:10

開発をしてる中で、配列の中にオブジェクトを入れたいのですが、pushを使用してもコンソール上で思った通りに表示されません。
どのようにしたら解決できるのかお教えいただきたいです。
よろしくお願いいたします。

React

1const path = window.location.pathname; 2const id = path.split('/')[1]; 3 4const footerItems = [ 5 {path: '', value: 'Home'}, 6 {path: 'about', value: 'About'}, 7 {path: 'skill', value: 'Skill'}, 8 {path: 'works', value: 'Works'} 9 ]; 10 11const filterItems = []; 12 13useEffect(() => { 14 footerItems.map(footerItem => { 15 if(footerItem.path !== id){ 16 return filterItems.push(footerItem); 17 } 18 }) 19},[]) 20 21console.log(footerItems); 22console.log(filterItems);

footerItems → (4) [{…}, {…}, {…}, {…}]
filterItems → []

filterの方をfooterのようにしたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

useEffect の外でいいです。
また、↓のように書けます。

js

1const filterItems = footerItems.filter((item) => item.path !== id)

stateに保存する場合は↓のように書きます。

js

1const [filterItems, setFilterItems] = useState([]) 2 3useEffect(() => { 4 const items = footerItems.filter((item) => item.path !== id) 5 setFilterItems(items) 6},[id])

投稿2020/08/05 14:54

anozon

総合スコア662

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yamazaki619

2020/08/05 15:10

教えていただいた通りにやればできました!!ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問