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

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

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

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

HTML

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

Q&A

解決済

1回答

1695閲覧

javascriptオブジェクト並び替え

MasakazuFukami

総合スコア1869

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2015/03/21 10:08

編集2015/03/21 10:09

オブジェクトの並び替えに関してご教授お願い致します。

var obj = {
0 : 'aaaaaa',
1 : 'iiiiii',
2 : 'uuuuuu',
5 : 'eeeeee',
8 : 'oooooo',
9 : 'kkkkkk',
}

というオブジェクトがある場合にこのオブジェクトのkeyを連番にしたいです。
具体的にはさきほど0 ~ 9であったkeyを0 ~ 5にしたいです。

var obj = {
0 : 'aaaaaa',
1 : 'iiiiii',
2 : 'uuuuuu',
3 : 'eeeeee',
4 : 'oooooo',
5 : 'kkkkkk',
}

こちらどのように処理を行えば宜しいでしょうか??

基本的な質問で申し訳ございません。

宜しくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

lang

1Array.prototype.sort.call( obj );

ごめん、並び替えというより、ラベルの貼り直し?作り直すしかないんじゃないかな?

lang

1var i = 0, obj2 = {}; 2for ( var key in obj ) { 3 obj2[ i ++ ] = obj[ key ]; 4}

投稿2015/03/21 10:13

編集2015/03/21 10:31
miya

総合スコア81

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

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

MasakazuFukami

2015/03/21 10:19

ご回答有難うございます! 上記を試してみたところ、結果は変わりませんでした。。。 ソートはできているのですが、連番になっていなようです。。。 連番にする方法等をもしご存知でしたらご教授お願い致します。
MasakazuFukami

2015/03/21 10:39

おぉ!!! 出来ました!!!! ありがとうございます!!!!!
ArimaRyunosuke

2015/03/26 10:52

javascript のオブジェクトのキーの順番は仕様にないため、実装依存になっています。 上記の例であれば問題は出ないかもしれませんが、元々のオブジェクトがバラバラな key 順だとブラウザによって差異が出てしまいます。 var obj = { 1 : 'iiiiii', 0 : 'aaaaaa', 2 : 'uuuuuu', }; var i = 0, obj2 = {}; for ( var key in obj ) { obj2[ i ++ ] = obj[ key ]; } console.log(obj2); 上記は Safari と Chrome で出力が異なります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問