5

要素を配列に変換するために.map関数を使用しています。次に、この配列を文字列に変換したいと思います。

JavaScript:

var selectedElements = $('.data').map(function() {
    return $(this).hasClass('selected') ? 'true' : 'false';
});

var A = ['Sunday','Monday','Tuesday','Wednesday','Thursday']
A = A + "";

var string = selectedElements  + "";

console.log("\ndebug:");
console.log(selectedElements);
console.log(A);
console.log(string );​

html:

<div class='data'></div>
<div class='data selected'></div>
<div class='data selected'></div>
<div class='data'></div>
<div class='data'></div>
<div class='data'></div>
<div class='data'></div>

コンソール出力:

debug: fiddle.jshell.net:29
["false", "true", "true", "false", "false", "false", "false"]
Sunday,Monday,Tuesday,Wednesday,Thursday
[object Object] 

ここでフィドル: http://jsfiddle.net/F8ufE/

selectedElements を array に変換するにはどうすればよいですか?

4

2 に答える 2

14

.map()ドキュメントによると:

戻り値は配列を含むjQueryオブジェクトであるため、基本的な配列を操作するために結果に対して.get()を呼び出すのが非常に一般的です。

getしたがって、実際の配列を取得する場合は、次のようなメソッドを使用できます。

var selectedElements = $('.data').map(function() {
    return $(this).hasClass('selected') + "";
}).get();

配列を文字列に変換するには、次のjoinメソッドを使用できます。

selectedElements = selectedElements.join()
于 2012-10-02T12:45:06.207 に答える
1

jQuery 関数.makeArrayを次のように使用します。

var selectedElements = $.makeArray($('.data').map(function() {
    return $(this).hasClass('selected') ? 'true' : 'false';
}));

var A = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday']
A = A + "";

var string = selectedElements + "";

console.log("\ndebug:");
console.log(selectedElements);
console.log(A);
console.log(string);​

http://jsfiddle.net/U5LTK/

于 2012-10-02T12:42:54.093 に答える