0

これを取得する方法

var myString = 'a,b';

以下で最も効率的な方法で

var myObject = { a:1, b:1};

各パラメータに1を関連付ける必要があります。ありがとうございました。

4

3 に答える 3

5

あなたの文字列が実際に次のように定義されていると仮定します

var myString = 'a,b';

次に、オブジェクトを次のように取得できます

var obj = {};
var t = myString.split(',');
for (var i=0; i<t.length; i++) obj[t[i]] = 1;

これにより、次のようなオブジェクトが作成されます

var obj = { a:1, b:1};

私はあなたの目標を達成できなかったので、これは役に立たないかもしれないことに注意してください...

余談:

JSON は、データ交換に使用されるテキスト形式です。JSON オブジェクトのようなものはありません。{ a:1, b:1}2 つのプロパティを持つ単純な JavaScript オブジェクトです。

必要なものが本当に JSON である場合は、そうすることができます

var myJSON = JSON.stringify(obj);

Ti は次のようになります。

var myJSON = '{"a":1,"b":1}';
于 2012-11-07T16:50:08.830 に答える
1

var myString = a,b;あなたが思っていることをしません。

myString の値に等しく設定するのは何ですかとして.abundefined

あなたがやりたいことをするために、これを書くだけです:

var myJSON = { a:1, b:1};

p00f、それはうまくいきます。


上記は、OPの忍者編集の前に適用されました。

于 2012-11-07T16:49:10.153 に答える
1

.split()これにはとを使用できます.reduce()

var result = myString.split(',')
                     .reduce(function(obj, key) {
                         return obj[key] = 1, obj;
                     }, {});

古い JavaScript 実装には shim が必要です。

于 2012-11-07T16:50:21.543 に答える