回答編集履歴
2
CSV出力コードを追加
answer
CHANGED
|
@@ -1,14 +1,21 @@
|
|
|
1
|
-
`Object.values` というものがあります。
|
|
1
|
+
ES7 に `Object.values` というものがあります。
|
|
2
|
-
|
|
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
プロパティ値にカンマを含んではいけない
answer
CHANGED
|
@@ -8,4 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
未対応ブラウザ用にPolyfillを適用するとして、`Array#join` と組み合わせればスマートに実装出来ますね。
|
|
10
10
|
|
|
11
|
+
ただし、プロパティ値がカンマを含まない事が必要条件としてあります。
|
|
12
|
+
カンマを含むならCSVのようにダブルクォートで括るフォーマットが必要になりますね。
|
|
13
|
+
|
|
11
14
|
Re: azuno_mix さん
|