首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用JavaScript动态创建数组?

如何使用JavaScript动态创建数组?
EN

Stack Overflow用户
提问于 2017-10-13 07:54:55
回答 1查看 45关注 0票数 0

我有这种形式的数组

代码语言:javascript
运行
复制
['203,448', '204,297', '204,448', '205,297', '230,448', '231,297', '24,448', '24,297','203,548', '204,548', '204,548' ]

欲望输出:

代码语言:javascript
运行
复制
0:['203,448',  '204,448', '230,448','24,448', ]
1: [ '204,297',  '205,297', '231,297', '24,297']
2: ['203,548', '204,548', '204,548']

我想在两个特性的基础上分离元素,即203,448和204,297

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-13 08:01:52

您可以为字符串的同一第二部分接受哈希表,并在数组中收集相同的项。

代码语言:javascript
运行
复制
var data = ['203,448', '204,297', '204,448', '205,297', '230,448', '231,297', '24,448', '24,297', '203,548', '204,548', '204,548'],
    hash = Object.create(null),
    result = data.reduce(function (r, a) {
        var key = a.split(',')[1];
        if (!hash[key]) {
            hash[key] = [];
            r.push(hash[key]);
        }
        hash[key].push(a);
        return r;
    }, []);

console.log(result);
代码语言:javascript
运行
复制
.as-console-wrapper { max-height: 100% !important; top: 0; }

对于只放置第一部分,可以使用拆分数组。

代码语言:javascript
运行
复制
var data = ['203,448', '204,297', '204,448', '205,297', '230,448', '231,297', '24,448', '24,297', '203,548', '204,548', '204,548'],
    hash = Object.create(null),
    result = data.reduce(function (r, a) {
        var s = a.split(',');
        if (!hash[s[1]]) {
            hash[s[1]] = [];
            r.push(hash[s[1]]);
        }
        hash[s[1]].push(s[0]);
        return r;
    }, []);

console.log(result);
代码语言:javascript
运行
复制
.as-console-wrapper { max-height: 100% !important; top: 0; }

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46725135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档