PHP相当于列表并在javascript中爆炸

时间:2012-12-01 11:23:48

标签: php javascript list explode

  

可能重复:
  Javascript equivalent of PHP’s list()

我希望在JavaScript中使用等效的这一行:

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

其中:

$IdALL = '1, 2, 3';

有没有办法用JavaScript做到这一点并且可以在所有现代浏览器上得到支持?

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:1)

不,JavaScript目前没有等效的list构造(称为“解构分配”)。您必须单独分配变量。 ES.next may very well have something为此,但不是当前的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将是字符串;如果你想让它们成为数字,你就必须解析它们(parseInt是一个选项,+parts[0]前面的{{1}}是另一个选项; {{3进入细节)。

答案 2 :(得分:1)

请参阅网站:http://phpjs.org/functions/

在这里,您需要php中的所有可用功能js。