相关疑难解决方法(0)

JavaScript中的对象比较

在JavaScript中比较对象的最佳方法是什么?

例:

var user1 = {name : "nerd", org: "dev"};
var user2 = {name : "nerd", org: "dev"};
var eq = user1 == user2;
alert(eq); // gives false
Run Code Online (Sandbox Code Playgroud)

我知道如果它们引用完全相同的对象,则两个对象是相等的,但有没有办法检查它们是否具有相同的属性值?

以下方式对我有用,但这是唯一的可能性吗?

var eq = Object.toJSON(user1) == Object.toJSON(user2);
alert(eq); // gives true
Run Code Online (Sandbox Code Playgroud)

javascript comparison object object-comparison

1021
推荐指数
7
解决办法
85万
查看次数

如何按键对对象数组进行分组

有没有人知道(如果可能的话,还是lodash)通过对象键对对象数组进行分组,然后根据分组创建一个新的对象数组?例如,我有一个汽车对象数组:

var cars = [
    {
        'make': 'audi',
        'model': 'r8',
        'year': '2012'
    }, {
        'make': 'audi',
        'model': 'rs5',
        'year': '2013'
    }, {
        'make': 'ford',
        'model': 'mustang',
        'year': '2012'
    }, {
        'make': 'ford',
        'model': 'fusion',
        'year': '2015'
    }, {
        'make': 'kia',
        'model': 'optima',
        'year': '2012'
    },
];
Run Code Online (Sandbox Code Playgroud)

我想制作一个新的汽车对象数组,按以下方式分组make:

var cars = {
    'audi': [
        {
            'model': 'r8',
            'year': '2012'
        }, {
            'model': 'rs5',
            'year': '2013'
        },
    ],

    'ford': [
        {
            'model': 'mustang',
            'year': '2012'
        }, {
            'model': 'fusion',
            'year': …
Run Code Online (Sandbox Code Playgroud)

javascript arrays grouping object lodash

102
推荐指数
14
解决办法
15万
查看次数

JavaScript通过id合并对象

在Javascript中合并两个数组的正确方法是什么?

我有两个数组(例如):

var a1 = [{ id : 1, name : "test"}, { id : 2, name : "test2"}]
var a2 = [{ id : 1, count : "1"}, {id : 2, count : "2"}]
Run Code Online (Sandbox Code Playgroud)

我希望能够得到类似的东西:

var a3 = [{ id : 1, name : "test", count : "1"}, 
          { id : 2, name : "test2", count : "2"}]
Run Code Online (Sandbox Code Playgroud)

基于'id'字段连接两个数组的位置,简单地添加额外数据.

我尝试使用_.union它,但它只是将第二个数组中的值覆盖到第一个数组中

javascript arrays underscore.js

36
推荐指数
8
解决办法
4万
查看次数

如何将具有重复值的数组映射到Javascript中的唯一数组?

我有以下数组:

var tst = 
[
 {"topicId":1,"subTopicId":1,"topicName":"a","subTopicName":"w"},
 {"topicId":1,"subTopicId":2,"topicName":"b","subTopicName":"x"},
 {"topicId":1,"subTopicId":3,"topicName":"c","subTopicName":"y"},
 {"topicId":2,"subTopicId":4,"topicName":"c","subTopicName":"z"}
]
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将其映射到topicId> id和topicName> name的这种数组:

var t = 
[
  {"id":1,"name":"a"},
  {"id":2,"name":"c"}
]
Run Code Online (Sandbox Code Playgroud)

我正在使用现代浏览器,如果有帮助,我也有_lodash.请注意,tst数组中将有大约100行,因此我不需要非常优化的解决方案.简单易维护的解决方案更为重要.

javascript lodash

21
推荐指数
1
解决办法
3万
查看次数

如何过滤native native中的对象数组?

我想将此数据数组过滤为州和城市数组.我怎样才能使用lodash或任何其他更好的方式实现这一点,而不是循环和维护额外的数组.

data: [
    { id: 1, name: Mike, city: philps, state: New York},
    { id: 2, name: Steve, city: Square, state: Chicago},
    { id: 3, name: Jhon, city: market, state: New York},
    { id: 4, name: philps, city: booket, state: Texas},
    { id: 5, name: smith, city: brookfield, state: Florida},
    { id: 6, name: Broom, city: old street, state: Florida},
]
Run Code Online (Sandbox Code Playgroud)

用户点击state,状态列表出现.

{state: New York, count: 2},
{state: Texas, count: 1},
{state: Florida, count: 2},
{state: Chicago, count: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays grouping filter react-native

7
推荐指数
4
解决办法
3万
查看次数

如何在Aurelia中按过滤器进行分组

我正在寻找做某事的方法

JS

$scope.players = [
  {name: 'Gene', team: 'alpha'},
  {name: 'George', team: 'beta'},
  {name: 'Steve', team: 'gamma'},
  {name: 'Paula', team: 'beta'},
  {name: 'Scruath', team: 'gamma'}
];
Run Code Online (Sandbox Code Playgroud)

HTML:

<ul repeat.for="obj of players | groupBy: 'team'">
  Group name: ${obj.group}
  <li repeat.for="player of obj.values">
    player: ${player.name} 
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

有可能吗?或者以Aurelia方式做这种逻辑的更好方法是什么?

javascript group-by filter aurelia

6
推荐指数
1
解决办法
654
查看次数

javascript中的父子关系排序

我有以下结构

[
    {
         "category_id" : 1,
         "parent_category" : null
    } ,
    {
         "category_id" : 2,
         "parent_category" : 1
    },
    {
         "category_id" : 3,
         "parent_category" : 1
    },
    {
         "category_id" : 4,
         "parent_category" : 2
    },
    ,
    {
         "category_id" : 5,
         "parent_category" : null
    },
    ,
    {
         "category_id" : 6,
         "parent_category" : 5
    }


]
Run Code Online (Sandbox Code Playgroud)

所以我有父子关系,我想用以下结构对其进行排序

[
    {
      "parent_category":[ "array of all children that follow this main parent category" ]  
    },
    {},
    {}
]
Run Code Online (Sandbox Code Playgroud)

我见过很多解决方案,但都是关于树结构输出的

谢谢

javascript sorting tree

5
推荐指数
1
解决办法
971
查看次数

如何按特定对象键对数组中的值求和?

我有一个 js 对象数组,如下所示:

var objArr = [
     {"Country": "US", "City": "MyCity1", "2017-07-12": "1", "2017-07-13": "2"},
     {"Country": "US", "City": "MyCity2", "2017-07-12": "2", "2017-07-13": "2"},
     {"Country": "CN", "City": "MyCity1", "2017-07-12": "5", "2017-07-13": "7"},
     {"Country": "CN", "City": "MyCity2", "2017-07-12": "5", "2017-07-13": "7"}
   ]
Run Code Online (Sandbox Code Playgroud)

我想创建一个新数组,其中国家/地区是唯一的,但日期也应该相加。

{"Country": "US", "2017-07-12":  "3", "2017-07-13": "4"},
{"Country": "CN", "2017-07-12": "10", "2017-07-13": "14"}
            ^^^^                ^^^^                ^^^^   
Run Code Online (Sandbox Code Playgroud)

我很难理解它。我是否必须先过滤,以某种方式减少它,重新映射它,......我不知道从哪里开始?任何帮助将不胜感激,谢谢!

javascript arrays object filter ecmascript-6

5
推荐指数
1
解决办法
74
查看次数

JavaScript 中按字符串属性值对对象数组进行分组?

我讨厌这个对象数组,每个对象都有一个日期,我希望能够将这些对象分组为月份。有没有办法转换这个

var data  = [
  { date: "2016-08-13",...},
  { date: "2016-07-23",...},
  { date: "2016-08-11",...},
  { date: "2016-08-10",...},
  { date: "2016-07-20",...},
  { date: "2016-07-21",...},
]
Run Code Online (Sandbox Code Playgroud)

变成这样的东西

var data  = [
  [{ date: "2016-08-13",...},
  { date: "2016-08-11",...},
  { date: "2016-08-10",...}],
  [{ date: "2016-07-20",...},
  { date: "2016-07-21",...},
  { date: "2016-07-23",...}[
]
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

4
推荐指数
1
解决办法
5775
查看次数

使用reduce在Javascript中分组

我努力找到我在其他stackoverflow帖子中寻找的解决方案,尽管我强烈地觉得它必须存在.如果确实如此,请向我转发正确的方向.

我试图通过javascript使用体育数据做一个非常标准的组.我有以下对象数组:

 const myData = [
    {team: "GSW", pts: 120, ast: 18, reb: 11},
    {team: "GSW", pts: 125, ast: 28, reb: 18},
    {team: "GSW", pts: 110, ast: 35, reb: 47},
    {team: "HOU", pts: 100, ast: 17, reb: 43},
    {team: "HOU", pts: 102, ast: 14, reb: 32},
    {team: "SAS", pts: 127, ast: 21, reb: 25},
    {team: "SAS", pts: 135, ast: 25, reb: 37},
    {team: "SAS", pts: 142, ast: 18, reb: 27}
 ]
Run Code Online (Sandbox Code Playgroud)

我的数据中的每一行都对应于特定篮球比赛的结果.简单地说,我想按数据分组,并将均值/平均函数应用于分组数据.我期望的结果是:

const groupedData = [
    {team: "GSW", pts: 118.3, …
Run Code Online (Sandbox Code Playgroud)

javascript group-by

4
推荐指数
1
解决办法
7778
查看次数