我可以用JavaScript声明一个数组中的两个变量吗
Can I declare 2 variables from an array in JavaScript?
我目前的代码中有这个:
var user = this.value.split("@")[0];
var domain = this.value.split("@")[1];
我希望能够做这样的事情:
var user, domain = this.value.split("@");
(当然,这会创建一个空变量"user",并将"domain"分配给.split()返回的数组)
我在PHP中做到了这一点:
list($user, $domain) = explode('@', $_POST['user']);
想知道是否有类似的JavaScript?
ES6将添加析构函数赋值,这可以让您几乎完成您所写的:
// Will be valid in ES6
var [user, domain] = this.value.split("@");
但你今天(在大多数发动机中)无法做到这一点。相反,您需要一个中间变量:
var parts = this.value.split("@");
var user = parts[0];
var domain = parts[1];
或者像您所做的那样复制split
。
下面是一个在最近版本的Firefox中工作的实际例子,它已经有了析构函数赋值:
// Requires that destructuring assignments work on your browser;
// recent Firefox has them
var value = "coolness@example.com";
var [user, domain] = value.split("@");
snippet.log("user = " + user);
snippet.log("domain = " + domain);
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
相关文章:
- 在HTML包围的javascript中添加两个变量
- 填写表单后替换两个变量
- 用于交换两个变量的 JavaScript 函数
- 使用一个表达式将两个变量分配给相同的值
- 如何添加两个变量而不使其在javascript中连接
- 有可能让两个变量指向同一个对象吗?(javascript)
- 带有两个变量函数的Ajax提交表单
- 将两个变量的值加在一个变量中
- 如何使用javascript获取两个变量的最高值
- 如何从字符串中获取两个变量
- 测试两个变量是否包含一些数据 JavaScript
- 将两个变量从php发送到javascript
- 如何在javascript中计算两个变量的百分比
- 连接两个变量
- Javascript变量没有正确添加两个变量,只是连接
- 如何在客户端验证中验证两个变量规则
- 想要使用document.getelementbyid显示两个变量
- 使用带有两个变量的相同if-else语句
- 我可以用JavaScript声明一个数组中的两个变量吗
- 使用数据库中的两个变量在jqplot中显示图形