我正在尝试拆分一个称为“顶点”的字符串数组,并将其存储为浮点数组。
目前字符串数组包含三个元素:["0 1 0", "1 -1 0", '-1 -1 0"]
我需要的是一个包含所有这些数字作为单独元素的浮点数组:[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 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/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(Number)
您可以使用.map(parseFloat)
当然如果你需要的话。
或者甚至更短:
var result = ["0 1 0", "1 -1 0", "-1 -1 0"].join(' ').split(' ').map(Number);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)