作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试拆分一个名为“顶点”的字符串数组,并将其存储为一个 float 数组。
目前字符串数组包含三个元素:["0 1 0", "1 -1 0", '-1 -1 0"]
我需要的是一个包含所有这些数字作为单独元素的 float 数组:[0, 1, 0, 1, -1, 0, -1, -1, 0]
我使用 split() 函数如下:
for(y = 0; y < vertices.length; y++)
{
vertices[y] = vertices[y].split(" ");
}
...除了它仍然由三个字符串数组组成之外,它给了我看起来像我所追求的东西。
我如何使用 parseFloat() 和 split() 来确保所有元素都是独立的并且是 float 类型的?
最佳答案
您可以使用 Array.prototype.reduce
方法:
var result = ["0 1 0", "1 -1 0", "-1 -1 0"].reduce(function(prev, curr) {
return prev.concat(curr.split(' ').map(Number));
}, []);
alert(result); // [0, 1, 0, 1, -1, 0, -1, -1, 0]
当然,如果需要,您可以使用 .map(parseFloat)
而不是 .map(Number)
。
或者更短:
var result = ["0 1 0", "1 -1 0", "-1 -1 0"].join(' ').split(' ').map(Number);
关于javascript - 在 JavaScript 中将字符串数组拆分为 float 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26978346/
我是一名优秀的程序员,十分优秀!