JavaScript 是否有语言构造或类似于 php list 命令的东西? http://php.net/manual/en/function.list.php
此命令将在单个语句中将数组的值分配给变量。例如,给定数组:
$info = array('Coffee', 'brown', 'caffeine');
列表命令会将每个数组元素值分配给命名变量:
list($drink, $color, $power) = $info;
这样:
echo "$drink is $color and $power makes it special."; // results in:
Coffee is brown and caffeine makes it special.
因此,这是一种在一个语句中为多个变量赋值的简单方法。
JavaScript 是否有等效的东西,每个变量不必单独分配?
有没有办法使用对象的属性或数组的元素来做到这一点?如果没有的话,可以编写一个函数来完成它吗?如果执行此操作的唯一方法是通过函数,则该函数将需要访问定义变量的范围。
我尝试了这个五年前问题的解决方案:Javascript equivalent of PHP's list() ,但它们不起作用。数组原型(prototype)更改无法在我的 node.js 环境中分配变量,并且左手数组分配是 Chrome 中的引用错误。有人谈论一种实验性新技术,但这种谈论已经有好几年了。我想知道是否有比链接问题中列出的解决方案更好的解决方案。
最佳答案
我刚刚编写了一个简单的函数,并且它可以工作。只是不完全像 php 中的列表。在这里
function list(fn,array){
if(fn.length && array.length){
for(var i=0;i<array.length;i++){
var applyArray = [];
for(var j=0;j<array[i].length;j++){
fn[j] = array[i][j];
applyArray.push(fn[j]);
}
fn.apply(this,applyArray);
}
}
}
这没什么了不起的,但如果您正在寻找一些简单的东西并为自己使用案例,那么它就在那里。
如何使用它?
//array array mixture for composure
var arrayMixture = [ ["coffee","sugar","milk"], ["tea","sugar","honey"] ];
//call our function
list(function(treat,addin,addin2){
console.log("I like "+treat+" with " + addin + " and " + addin2);
},arrayMixture);
//output:
//I like coffee with sugar and milk
//I like tea with sugar and honey
希望这就是您要找的
关于javascript - JavaScript 是否有类似于 php list 命令的语言结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28617513/