我希望在JavaScript中使用等效的这一行:
<?php list($Id, $Iduser, $Idmany) = explode("," , $IdALL); ?>
其中:
$IdALL = '1, 2, 3';
有没有办法用JavaScript做到这一点并且可以在所有现代浏览器上得到支持?
答案 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。