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

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

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

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

967閲覧

Arrayの最初の5つのエレメントを削除したいのですが。。。

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/03/01 03:56

最初の5つのエレメントを削除したいのですが...

<html> <head> <script language="javascript" type="text/javascript"> var f=function(theArray) { // ここにコードを入れる } intArray = [0,1,2,3,4,5,6,7,8,9]; intArray.forEach(f(intArray)); </script> </head> </html>

よろしくお願いします。

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

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

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

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

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

guest

回答3

0

Array.prototype.splice

破壊的処理(intArray を破壊する)を望む場合は splice を使います。

JavaScript

1var intArray = [0,1,2,3,4,5,6,7,8,9]; 2intArray.splice(0, 5); 3console.log(intArray); // [5, 6, 7, 8, 9]

Array.prototype.slice

非破壊的処理(intArray を破壊しない)を望む場合は slice を使います。

JavaScript

1var intArray = [0,1,2,3,4,5,6,7,8,9], 2 slicedArray = intArray.slice(5); 3 4console.log(intArray); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 5console.log(slicedArray); // [5, 6, 7, 8, 9]

質問文のコードを基本とする場合

Array.prototype.splice を使って「index: 0~4」を破壊していくのでしょうね…。
ただし、splice は指定範囲のインデックスを削除する機能が元々あるので、一つずつ破壊していくのはとても無駄の多いコードだと思います。
maisumakun さんが指摘されている通りです。

Re: Kotodama さん

投稿2017/03/01 04:48

編集2017/03/01 04:57
think49

総合スコア18166

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

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

退会済みユーザー

退会済みユーザー

2017/03/02 22:43

Sliceを使ってやってみました。ありがとうございました!
guest

0

filterすればいろんなパターンが対応可能です

6番目以降を残す
intArray=intArray.filter(function(i,j){return j>=5;});

一つ飛ばしに残す
intArray=intArray.filter(function(i,j){return (j%2==1);});

投稿2017/03/01 04:12

yambejp

総合スコア114968

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

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

退会済みユーザー

退会済みユーザー

2017/03/02 22:42

Filterも使ってできるんですね!ありがとうございました!
guest

0

ベストアンサー

このコードは、目的のことを行うのに適当ではありませんArray.prototype.forEachは、何があっても配列の最初から最後まで回りきってしまいますし、もとの配列は変化しません。

下手にコールバックで回さなくても、.slice()を使えば一発です(MDN)。

javascript

1slicedArray = intArray.slice(5);

投稿2017/03/01 04:06

maisumakun

総合スコア145201

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

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

退会済みユーザー

退会済みユーザー

2017/03/02 22:41

本当に一発ですね!Sliceを使ってやってみました!ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問