質問するログイン新規登録

回答編集履歴

2

CSV出力コードを追加

2016/08/30 06:55

投稿

think49
think49

スコア18196

answer CHANGED
@@ -1,14 +1,21 @@
1
- `Object.values` というものがあります。
1
+ ES7 に `Object.values` というものがあります。
2
- https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/values
2
+ 未対応ブラウザ用にPolyfillを適用するとして、`Array#join` と組み合わせればスマートに実装出来ます。
3
3
 
4
+ - [Object.values() - JavaScript | MDN](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Object/values)
5
+
4
6
  ```JavaScript
5
7
  var obj = { foo: "bar", baz: 42 };
6
8
  console.log(Object.values(obj)); // ['bar', 42]
9
+ console.log(Object.values(obj).join(',')); // bar,42
7
10
  ```
8
11
 
9
- 未対応ブラウザ用にPolyfillを適用するとして、`Array#join` と組み合わせればスマートに実装出来ますね。
10
-
11
12
  ただし、プロパティ値がカンマを含まない事が必要条件としてあります。
12
13
  カンマを含むならCSVのようにダブルクォートで括るフォーマットが必要になりますね。
13
14
 
15
+ ```JavaScript
16
+ var obj = {foo: 'hoge,bar', baz: '"piyo"'},
17
+ csv = '"' + Object.values(obj).map(function (value) { return value.replace(/"/g, '""'); }).join('","') + '"';
18
+ console.log(csv); // "hoge,bar","""piyo"""
19
+ ```
20
+
14
21
  Re: azuno_mix さん

1

プロパティ値にカンマを含んではいけない

2016/08/30 06:55

投稿

think49
think49

スコア18196

answer CHANGED
@@ -8,4 +8,7 @@
8
8
 
9
9
  未対応ブラウザ用にPolyfillを適用するとして、`Array#join` と組み合わせればスマートに実装出来ますね。
10
10
 
11
+ ただし、プロパティ値がカンマを含まない事が必要条件としてあります。
12
+ カンマを含むならCSVのようにダブルクォートで括るフォーマットが必要になりますね。
13
+
11
14
  Re: azuno_mix さん