javascript - js问题求助

查看:75
本文介绍了javascript - js问题求助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

var arr = [
    {
        num : 33,
        str: "one"
    },
    {
        num : 34,
        str: "two"
    },
    {
        num : 36,
        str: "three"
    },
    {
        num : 37,
        str: "一"
    },
    {
        num : 42,
        str: "二"
    }
]

想得到

var newarr = [
    ["one","two"],
    ["three","一"],
    ["二"]
]

相邻的放在一个数组里面 33,34 36,37 42 求助js该怎么写

解决方案

其实原理很简单,咱就比比谁代码量少吧。

var arr = [
    {
        num : 33,
        str: "one"
    },
    {
        num : 34,
        str: "two"
    },
    {
        num : 36,
        str: "three"
    },
    {
        num : 37,
        str: "一"
    },
    {
        num : 42,
        str: "二"
    }
];

var nowNum = -1;
var newArr = [];

arr.forEach(function (x) {
  if (x.num === nowNum + 1) {
    newArr[newArr.length - 1].push(x.str);
  } else {
    newArr.push([x.str]);
    nowNum = x.num;
  }
});
console.log(newArr);

这篇关于javascript - js问题求助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆