问题

我有一个用逗号分隔的数值字符串,我想将它们包括在数组中,并且每对它们都是嵌套在主数组内部的数组,作为我的图形顶点。

我该如何解决这个问题?

输入:

var vertices = "24,13,47,20,33,9,68,18,99,14,150,33,33,33,34,15,91,10";

我希望他们成为的是:

输出:
var V_array = [[24,13],[47,20],[33,9],[68,18],[99,14],[150,33],[33,33],[34,15],[91,10]];

最佳答案

我的两分钱:) [新版本]

let
  str     = "24,13,47,20,33,9,68,18,99,14,150,33,33,33,34,15,91,10",
  pair    = [],
  triplet = [];

JSON.parse(`[${str}]`).forEach((e,i)=>{pair.push( (i%2)?[pair.pop(),e]:e)})

console.log ( 'pair:', JSON.stringify(pair) )


// bonus => same idea for triplet :

JSON.parse(`[${str}]`).forEach((e,i)=>{
  if      ( (i%3)===2 )  triplet.push( [triplet.shift(),triplet.pop(),e] )
  else if ( (i%3)===0 )  triplet.unshift(e)
  else                   triplet.push(e)
})

console.log ( 'triplet:', JSON.stringify(triplet)  )

关于javascript - 在单独的值之外的另一个(主)数组中创建一个数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55315070/

10-13 00:47