为了账号安全,请及时绑定邮箱和手机立即绑定

重新构造数组

重新构造数组

DIEA 2022-01-07 16:09:44
我的脚本读取 EventSource,并在一条消息中从变量中获取一些行数据。该变量将是一个数组,我的脚本将数组分解,并且对于每个点,它都会用 y 值翻转 x。然后它将每个点作为发布请求发送。无论如何我可以将数组重新组合在一起,然后在翻转每个 x 和 y 值后发送发布请求吗?这是我的脚本:  var evtSource = new EventSource("http://URL.com/");evtSource.onmessage = function(e) {var obj = JSON.parse(e.data);var line = JSON.stringify(obj.line)var line22 = obj.line//console.log(line22)line22.forEach(function(point, index){console.log(JSON.stringify(point)); // console log example// -> "[120,250]"    const [x, y] = point;console.log(`x: ${x}, y: ${y}`);    var FlipXYvalues = "[[" + y + "," + x + "]]"; // Complies it again... flips the values..    var ident = "String"if (obj.ident === ident) //the string...{$.post("http://URL.com/", {            l: (FlipXYvalues),            w : (obj.lineWidth),            c: (obj.lineColor.replace("#", "")),            o: ("100"),            f: ("1"),            _: ("false") })}});}
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

您可以使用Array#map()基于其他数组创建一个新数组


line22 = [[1,2],[3,4],[5,6],[7,8]];

var newLines = line22.map(point => {

  return [point[1], point[0]];

});

//using array destructuring

//if you dont want to mess with specifying indexes

var newLines = line22.map(([x,y]) => {

  return [y,x];

});


console.log(JSON.stringify(newLines));

//$.post("http://URL.com/", {l:newLines});


查看完整回答
反对 回复 2022-01-07
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信