5

重複の可能性:
PHP の list() に相当する Javascript

この行に相当するものが必要ですが、JavaScript では次のようになります。

<?php list($Id, $Iduser, $Idmany) = explode("," , $IdALL); ?>

どこ :

$IdALL = '1, 2, 3';

JavaScriptでそれを行う方法はありますか?それは最新のすべてのブラウザでサポートされていますか?

4

3 に答える 3

7
var values = "1, 2, 3".split(", ");
var keys = ["Id", "Iduser", "Idmany"];
var final = {};

for(var i = 0; i < values.length; i++){
    final[keys[i]] = values[i];
}

もちろん、読みやすさを犠牲にして、これらすべてを for ステートメントで実行できます。

for(var i = 0, values = "1, 2, 3".split(", "), keys = ["Id", "Iduser", "Idmany"], final = {}; i < values.length; i++){
    final[keys[i]] = values[i];
}

変数には、次のようにアクセスできます。

alert(final.Id);
alert(final.Iduser);
alert(final.Idmany);
于 2012-12-01T11:31:45.687 に答える
1

サイトを参照してください: http://phpjs.org/functions/

ここでは、php から js で使用できるすべての関数が必要です。

于 2012-12-01T11:31:28.107 に答える
1

いいえ、JavaScript には現在、listコンストラクトに相当するものはありません (これは「破壊代入」と呼ばれます)。変数を個別に割り当てる必要があります。ES.next にはこのための何かがあるかもしれませんが、現在の ES5 (または古いブラウザーの ES3) にはありません。

したがって、あなたができる最善のことは、もう少し厄介です:

var idAll = "1, 2, 3";
var parts = idAll.split(/\s*,\s*/);
var id = parts[0];
var idUser = parts[1];
var idMany = parts[2];

ID は文字列になることに注意してください。それらを数値にしたい場合は、それらを解析する必要があります(これは1つのオプションであり、 etの前にparseInt置くことは別の方法です。この回答は詳細になります)。+parts[0]

于 2012-12-01T11:27:18.557 に答える