javascript - JavaScript 是否有类似于 php list 命令的语言结构?

标签 javascript php node.js symbol-table language-construct

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/

相关文章:

javascript - 使用jQuery检测设备是否可以调用电话(支持 "tel://"协议(protocol))

javascript - D3 用不同的数据创建相同的图像

PHP 注册和登录表单&电子邮件验证/邮件服务器设置

php - Laravel - 关于如何找出用户上次登录的架构

php - 如何使用PHP从JSON提取数据?

javascript - 异步/等待、数据获取和 Unresolved promise

javascript - 使用 for 循环索引填充请求 Promise uri

javascript - TypeScript "Compile on save"功能在 Visual Studio 2015 中不起作用

javascript - 缓存静态页面和内容nodejs

javascript - appium如何自动在textField中输入内容