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

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

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

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

Q&A

解決済

4回答

818閲覧

データの後ろに0を足して12個のデータを作りたい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

0グッド

0クリップ

投稿2016/08/25 06:07

編集2016/08/25 06:12

###前提・実現したいこと
あるデータの後ろに0を足して12個のデータを作りたいのですが、
データがうまく入りません。
よろしくお願いします。

###該当のソースコード

javascript

1for(var i=0; i<12-(total.length); i++){ 2 total.push(0); 3} 4 5たとえば、 6total = ["a","b","c","d","e","f","g","h"]; 7だとすると、 812-(total.length) = 4となって、 9結果としては 10total = ["a","b","c","d","e","f","g","h","0","0","0","0"]; 11というふうに12個の配列にしたい。

###発生している問題・エラーメッセージ

javascript

1for(var i=0; i<12-(total.length); i++){ 2 total.push(0); 3} 4このコードでの結果を見ると 5total = ["a","b","c","d","e","f","g","h","0","0"]; 6と、データが10個しか入っていない 7

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

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

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

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

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

date

2016/08/25 06:10

k<12kが提示コード内で処理されていないのですが、kに入れている部分も入れてもらえますか?
退会済みユーザー

退会済みユーザー

2016/08/25 06:13

すいませんどっかから紛れ込んだみたいで、打ち間違いです。。
guest

回答4

0

ベストアンサー

Javascript

1while(total.length < 12) { 2 total.push(0); 3}

投稿2016/08/25 06:15

shi_ue

総合スコア4437

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

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

退会済みユーザー

退会済みユーザー

2016/08/25 06:19

なるほど、別の角度から見るって大事ですね! ありがとうございます!
guest

0

for文の判定でtotal.lengthが毎回判定されて長さが変わっているせいです。
最初に追加する数を確定させましょう。

total = ["a","b","c","d","e","f","g","h"]; count = 12 - total.length; for(var i=0; i<count; i++){ total.push(0); }

投稿2016/08/25 06:22

moonphase

総合スコア6621

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

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

0

JavaScript

1var total=["a","b","c","d","e","f","g","h"]; 2for(var i=0,l=total.length; i<12-l; i++){ 3 total.push(0); 4} 5console.log(total);

i<12-(total.length) とすると、forのたびにlengthが動くからだと。

投稿2016/08/25 06:15

kei344

総合スコア69407

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

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

退会済みユーザー

退会済みユーザー

2016/08/25 06:21

そこに二つ設定できるんですね。。。w 初めて知りました! ありがとうございます!
guest

0

まあ基本はこうだな・q・

javascript

1var ipt = ['a','b']; 2 3var out = []; 4for (var i = 0; i < 12; i++) out[i] = ipt[i] ? ipt[i] : 0; 5print(out); 6 7var out2 = ipt; 8for (var i = ipt.length; i < 12; i++) out2[i] = ipt[i] ? ipt[i] : 0; 9print(out2)

投稿2016/08/25 06:21

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問