我一直在阅读 Javascript 的新功能,并注意到数组理解的内容。我在我当前的项目中尝试过这个,但 Visual Studio 似乎不喜欢这种语法。我做错了吗?
var destArray = [{propOne: val, propTwo:val} for (val of sourceArray)];
最佳答案
这实际上是即将发布的 ES2016 规范的一部分,而不是 ECMAScript 5(您的问题最初用 ecmascript-5 标记)。
根据 this和 MDN documentation ,您实际上需要将 for
部分放在开头,而不是结尾:
var destArray = [ for (val of sourceArray) { propOne: val, propTwo: val } ];
就像 Python 等其他语言一样,您也可以包含多个 for 循环和 if 语句:
var numbers = [1,2,3,4,5,6,7,8,9,10];
var even = [ for (val of numbers) if (val % 2 === 0) val ];
请注意,大多数文本编辑器和 IDE 尚不支持这些新语言功能的语法突出显示,因此在未来提供更多支持之前,突出显示/着色可能看起来很奇怪。
关于javascript - 支持 Visual Studio 中的数组理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23297056/