4

可能重复:
可以分配给数组中的多个变量吗?

如果在python中我可以做到这一点

x = "Hi there and hello there"
v1, v2, v3, v4, v5 = x.split(" ")

但我不知道如何在javascript中做到这一点..

4

5 回答 5

5

您可以使用 javascript 将其转换为数组.split

例如

x = "Hi there and hello there";
var array = x.split(" ");

然后你所有的变量都将在数组中,如下所示

array[0]
array[1]
array[2]

您可以使用 console.log 或类似的警报来显示这一点。

console.log(array[0]);
alert(array[0]);

参考

http://www.tizag.com/javascriptT/javascript-string-split.php

于 2012-07-17T09:44:09.600 回答
5

你问的是所谓的“解构赋值”,它是 Javascript 1.7 的一个特性。遗憾的是,并非所有浏览器都支持这些 JS 1.7 功能(例如,Chrome 执行标记为 JS 1.7 的代码但尚不支持此功能)。

您的代码可以在 Firefox 上运行(只要您将其标记为 JS 1.7 并稍作修改),但不能在 Chrome 上运行。

要查看实际情况,请在Firefox中使用以下命令:

<script type="application/javascript;version=1.7"/>
    x = "Hi there and hello there"
    var [v1, v2, v3, v4, v5] = x.split(" ")
</script>
于 2012-07-17T09:56:21.137 回答
1

split将字符串拆分为字符串数组。

于 2012-07-17T09:44:26.403 回答
1

拆分返回一个数组。

var x = "Hi there and hello there"
var v = x.split(" ")
console.log(v[0]);
console.log(v[1]);
于 2012-07-17T09:44:35.473 回答
1

如果您可以将变量附加到一个对象,那么您可以这样做:

var stringToWords = function (str) {
if (typeof str === "string") {
    var stringsArray = str.split(" "),
        stringsSet = {};

    for (var i = 0, wordsNumber = stringsArray.length; i < wordsNumber; i++) {
        stringsSet['str' + (i + 1)] = stringsArray[i];
    }

    return stringsSet;
} else { 
    return str + " is not a string!!!"}

};

// 这将返回一个带有所需字符串的对象

var allStringWords = stringToWords("Hi there and hello there");

//那么你可以通过这种方式访问​​一个单词:

allStringWords.str1

但我敢肯定有更短的方法来获得相同的

于 2012-07-17T10:46:57.917 回答