javascript - 根据数组的第一个值拆分数组

标签 javascript arrays

希望你能理解我的问题。 假设我有这个数组:

[[1, 0.3], [1, 0.5], [2, 0.6], [2, 0.7], [3, 0.8], [3, 0.9]]

我想要基于第一个值的新数组,如下所示:

[0.3, 0.5]
[0.6, 0.7]
[0.8, 0.9]

它们是三个数组,因为有三个数字1和2和3,如果数字多了,那么应该多出来一些数组。

非常感谢。

最佳答案

您可以创建一个新对象,其中键是索引号(每个当前数组值的第一个索引),值是相关数字(第二个索引)。

var arr = [[1, 0.3], [1, 0.5], [2, 0.6], [2, 0.7], [3, 0.8], [3, 0.9]];

var newObj = {};

arr.map(function(item){
	if(newObj[item[0]])
  	   newObj[item[0]].push(item[1]);
        else
  	   newObj[item[0]] = [item[1]];
});

console.log('New object: ' + JSON.stringify(newObj));

// if you insist on creating an array

var newArr = [];
var cnt = 0;
for(var item in newObj)
{
   if(newObj.hasOwnProperty(item))
   {
      newArr[cnt] = newObj[item];
      cnt++;
   }
}

console.log('New array: ' + JSON.stringify(newArr));

关于javascript - 根据数组的第一个值拆分数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34194854/

相关文章:

javascript - 更改 google-map-react 上自定义标记的位置

javascript - 使用 Knockout 和 Knockout Validation 验证单选按钮未应用预期的 CSS 类

java - 尝试获取范围 com.google.api.server.spi.config.scope.SingleAuthScopeExpression 的客户端 ID,但失败

javascript - 如何使用 Vue 构建 UI 框架

javascript - 通过 for 循环 + jquery 显示数组中的所有项目

arrays - R:有效地从数组中删除单例尺寸

javascript - 对非阻塞脚本的痴迷

javascript - 在 JavaScript 中检查字符串是否为回文

javascript - 随机播放图像 javascript/jquery

c - 将 C 数组拆分为 n 个相等的部分