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

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

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

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

Q&A

2回答

1004閲覧

for文で配列にキーと値を追加

sms123

総合スコア11

JavaScript

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

1グッド

1クリップ

投稿2018/07/04 02:44

var DATA = [ {code: "00S", e: "85", id: "7", date: "2018-04-18 14:20:35"} {code: "00Q", e: "85", id: "1", date: "2018-04-18 14:20:35"} ]

上記のjson形式にした配列にあらにキーと値を追加したい
下記の 配列全てにtest: 1を追加 同じ値です

var DATA = [ {code: "00S", e: "85", id: "7", date: "2018-04-18 14:20:35", test: 1} {code: "00Q", e: "85", id: "1", date: "2018-04-18 14:20:35", test: 1} ]

IE考慮のため、forEach()やmap()は使わず、for文で完結させたいです
誰かご教授お願い致します。

x_x👍を押しています

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

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

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

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

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

mather

2018/07/04 02:58

自分でトライしてみた内容を記載してください。なお、DATA配列のカンマが抜けているのでこのままではシンタックスエラーになります。
m.ts10806

2018/07/04 04:23

一部日本語がおかしい(誤字と思われる)部分があります。要件が正しく伝わらず、的確な回答が得られない原因となりますので、調整してください。 >配列にあらにキーと値を追加したい
m.ts10806

2018/07/04 04:24

自身が対象としている・想定している環境(ブラウザのバージョンなど)も追記してください。
guest

回答2

0

forでやるならむしろ簡単では?

javascript

1var DATA = [ 2 {code: "00S", e: "85", id: "7", date: "2018-04-18 14:20:35"}, 3 {code: "00Q", e: "85", id: "1", date: "2018-04-18 14:20:35"} 4]; 5for(var i=0;i<DATA.length;i++){ 6 DATA[i].test=1; 7} 8console.log(DATA);

投稿2018/07/04 02:58

yambejp

総合スコア114843

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

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

0

IE考慮のため、forEach()やmap()は使わず、for文で完結させたいです

IE って Array.prototype.map() 実装されてるっぽくないですか

Array.prototype.map() - JavaScript | MDN


js

1var DATA = [ 2 {code: "00S", e: "85", id: "7", date: "2018-04-18 14:20:35"}, 3 {code: "00Q", e: "85", id: "1", date: "2018-04-18 14:20:35"} 4]; 5 6const newData = DATA.map(v => ({ ...v, test: 1 })); 7console.log(newData); // -> [{"code":"00S","e":"85","id":"7","date":"2018-04-18 14:20:35","test":1},{"code":"00Q","e":"85","id":"1","date":"2018-04-18 14:20:35","test":1}]

ES2016縛り

js

1var DATA = [ 2 {code: "00S", e: "85", id: "7", date: "2018-04-18 14:20:35"}, 3 {code: "00Q", e: "85", id: "1", date: "2018-04-18 14:20:35"} 4]; 5 6const newData = DATA.map(function(v){ 7 return Object.assign({}, v, { test: 1 }) 8}); 9console.log(newData); // -> [{"code":"00S","e":"85","id":"7","date":"2018-04-18 14:20:35","test":1},{"code":"00Q","e":"85","id":"1","date":"2018-04-18 14:20:35","test":1}]

投稿2018/07/04 03:12

編集2018/07/04 07:06
og24715

総合スコア832

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

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

think49

2018/07/04 03:45

> IE って Array.prototype.map() 実装されてるっぽくないですか IE8以下なら未対応ですが、IEのバージョン番号も書いてほしいですね。 IE8はJSON.parseも未対応、Polyfill禁止なのか等、他にも気になる部分はあります。
og24715

2018/07/04 04:05

IE8 がまだ生きてるとしたらそれは悲劇ですね。
x_x

2018/07/04 06:55

mapがあってもアロー関数やスプレッド演算子はないのでまるで動きませんが
og24715

2018/07/04 07:10

そうなんですねーたいへんですねー。
yambejp

2018/07/04 07:59

まぁquerySelectorはともかく、Object.defineProperty()など なければおおよそモダンな処理はできませんので より原始的なforで処理するしかないでしょう。 とはいえ、あまり古いブラウザを動作条件にすると できないことだらけになりますけどね
og24715

2018/07/04 08:18

ドキッとして mdn 眺めたんですが Object.assign も IE未実装なんですね…。 IE 対応の心中お察しします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問