Koa*_*la7 0 javascript arrays if-statement map-function
我需要在map函数中使用条件语句
我正在复制a path d中a的每个单值,SVG但我不希望对象M和L数组发生这种情况
以下是数组作为字符串的示例.
M 175 0 L 326.55444566227675 87.50000000000001 L 326.55444566227675 262.5 L 175 350 L 23.445554337723223 262.5 L 23.44555433772325 87.49999999999999 L 175 0
Run Code Online (Sandbox Code Playgroud)
这是我没有条件语句的例子
let neWd = array.map(x => { return x * 2; }).reverse().join(' ')
Run Code Online (Sandbox Code Playgroud)
我怎么能在e6中写下这个?我不希望元素L和M(类似的if x ? 'M' : 'L' return)发生乘法运算
我不确定为什么你也使用这个reverse函数,反转svg路径稍微复杂一些.
这段代码双打所有的数字,但叶子M和L完整.
实际上将svg路径扩大了200%
var array = "M 175 0 L 326.55444566227675 87.50000000000001 L 326.55444566227675 262.5 L 175 350 L 23.445554337723223 262.5 L 23.44555433772325 87.49999999999999 L 175 0".split(" ");
let neWd = array.map(x => {
if (x === 'M' || x === 'L'){
return x;
}else{
return x * 2;
}
}).join(' ')
console.log(neWd);Run Code Online (Sandbox Code Playgroud)
是的,只需这样做:
let neWd = array.map(x => {
if (x == "M" || x == "L")
return x; // unchanged
else
return String(parseInt(x, 10) * 2);
}).reverse().join(' ')
Run Code Online (Sandbox Code Playgroud)