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

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

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

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

Q&A

1回答

7854閲覧

javascriptのsliceについて

shinoda

総合スコア75

JavaScript

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

0グッド

0クリップ

投稿2015/09/14 07:26

お世話になります。

javascriptのsliceについてお聞きします。

以下のコードでエラーがでてしまい原因がわからず困っています。
ご教授いただければ幸いです。

コード**
$(function() {
var data = new Array();
$.getJSON("json/array.json" , function(data) {
var sdata = data.slice(2);
console.log(sdata); //デバッグ用
for( var i in sdata){
for( var j in sdata[i] ){
・・・・以下省略


エラーメッセージ**
TypeError: data.slice is not a function


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

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

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

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

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

guest

回答1

0

javascript

1var sdata = data.slice(2);

dataはjsonオブジェクトであり、配列ではありません。ですので、sliceという関数もありません。

投稿2015/09/14 07:35

orange0190

総合スコア1698

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

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

shinoda

2015/09/14 07:48

早速のご回答ありがとうございます。 >のdataはjsonオブジェクトであり、配列ではありません。ですので、sliceという関数もありません。 ということは配列に格納する処理が必要ということでしょうか? もしくはオブジェクトのまま、スライスのように任意のところから切り出すような関数はあるのでしょうか? 宜しくお願い致します。
orange0190

2015/09/14 07:57

jsonがどのような形なのか分からないので、例を示します。 jsonが次のような場合には {"foo": "bar"} data.fooという形で"bar"を取り出すことができます。
shinoda

2015/09/14 08:07

jsonの中身を書くと長くなるので省略して書きます ******json********** {"1":{"A":"\u7ba1\u7406\u756a\u53f7","B":"\u7a2e\u5225","C":"\u516c\u958b\u6709\u7121" ・・・以下省略 ******************* 上記のように二次元配列のようになっており、なぜこのような形になったかというと、あるエクセルファイルをphpでjsonに変換しているためエクセルシートの行番号と縦列のA,B,C,,,,がキーになっています。 よってやりたいこととしては、エクセルシートの1.2行目は読み込まないという処理をしたいのです。 以上宜しくお願い致します。
orange0190

2015/09/14 08:13

そのような形なら data.1という形で {"A":"\u7ba1\u7406\u756a\u53f7","B":"\u7a2e\u5225","C":"\u516c\u958b\u6709\u7121" ・・・以下省略 というオブジェクトが取得できるかと思います。その中を取得したい場合には data.1.A, data.1.B, ・・・・ となるかと思います。
shinoda

2015/09/14 08:29

説明が足りずに申し訳ありません 以下のようにfor文で回しておりその中で1.2行目を飛ばした配列にしたいということなんです。 ******************* $(function() { var data = new Array(); $.getJSON("json/array.json" , function(data) { //data = target.replace( /-/g , "/" ) ; //console.log(data); for( var i in data){ for( var j in data[i] ){ **********************
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問