2016-10-07 7 views
-6

このタスクで誰かが私を助けてくれますか?それぞれ同じユーザーのために、最初のタイトルと本文のすべてのタイトルと本文を連結する必要があります。また、 'id'キーを削除する必要があります。オブジェクトのJavascript配列

例:

var items = [ 
    { 
    "userId": 1, 
    "id": 1, 
    "title": "sunt aut facere repellat provident occaecati excepturi ", 
    "body": "quia et suscipit\nsuscipit recusandae consequunt rerum autem sunt rem eveniet architecto" 
}, 
{ 
"userId": 1, 
"id": 2, 
"title": "qui est esse", 
"body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate" 
}, 
{ 
"userId": 2, 
"id": 11, 
"title": "et ea vero quia laudantium autem", 
"body": "delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus\naccusamus in eum beatae sit\nvel qu" 
}, 
{ 
"userId": 2, 
"id": 12, 
"title": "in quibusdam tempore odit est dolorem", 
"body": "itaque id aut majklh" 
}, 
{ 
"userId": 3, 
"id": 21, 
"title": "asperiores ea ipsam voluptatibus modi minima quia sint", 
"body": "repellat aliquid praesentium dolorem quo\nsed totam minus non  itaque\nnihil labore molestiae sunt dolor eveniet" 
}, 
{ 
"userId": 3, 
"id": 22, 
"title": "dolor sint quo a velit explicabo quia nam", 
"body": "eos qui et ipsum ipsam suscipit aut\nsed omnis non odio\nexpedita earum mollitia molestiae aut atque rem suscipit\nnam impedit esse" 
}]; 

になる必要があります:あなたの助けのための

var items = [ 
    { 
    "userId": 1, 
    "title": "sunt aut facere repellat provident occaecati excepturi qui         est esse", 
    "body": "quia et suscipit\nsuscipit recusandae consequunt rerum autem sunt rem eveniet architecto est rerum tempore vitae\nsequi sint nihil   reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate" 
}, 
{ 
"userId": 2, 
"title": "et ea vero quia laudantium autem in quibusdam tempore odit est dolorem", 
"body": "delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus\naccusamus in eum beatae sit\nvel qu itaque id aut majklh" 
}, 
{ 
"userId": 3, 
"title": "asperiores ea ipsam voluptatibus modi minima quia sint dolor sint quo a velit explicabo quia nam", 
"body": "repellat aliquid praesentium dolorem quo\nsed totam minus non itaque\nnihil labore molestiae sunt dolor eveniet eos qui et ipsum ipsam  suscipit aut\nsed omnis non odio\nexpedita earum mollitia molestiae aut atque rem suscipit\nnam impedit esse" 
}]; 

おかげで、 よろしく サラ

+1

何を試しましたか? – ASDFGerte

+0

'for(item in items){...}'を使ってオブジェクトを反復することができます。 'items {item} .id'を使って' id'プロパティを削除することができます。 –

+0

このようなもの - > https://jsfiddle.net/a7em5jvq/ – adeneo

答えて

0
var items = [ 
     { 
      "userId": 1, 
      "id": 1, 
      "title": "sunt aut facere repellat provident occaecati excepturi ", 
      "body": "quia et suscipit\nsuscipit recusandae consequunt rerum autem sunt rem eveniet architecto" 
     }, 
     { 
      "userId": 1, 
      "id": 2, 
      "title": "qui est esse", 
      "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate" 
     }, 
     { 
      "userId": 2, 
      "id": 11, 
      "title": "et ea vero quia laudantium autem", 
      "body": "delectus reiciendis molestiae occaecati non minima eveniet qui voluptatibus\naccusamus in eum beatae sit\nvel qu" 
     }, 
     { 
      "userId": 2, 
      "id": 12, 
      "title": "in quibusdam tempore odit est dolorem", 
      "body": "itaque id aut majklh" 
     }, 
     { 
      "userId": 3, 
      "id": 21, 
      "title": "asperiores ea ipsam voluptatibus modi minima quia sint", 
      "body": "repellat aliquid praesentium dolorem quo\nsed totam minus non  itaque\nnihil labore molestiae sunt dolor eveniet" 
     }, 
     { 
      "userId": 3, 
      "id": 22, 
      "title": "dolor sint quo a velit explicabo quia nam", 
      "body": "eos qui et ipsum ipsam suscipit aut\nsed omnis non odio\nexpedita earum mollitia molestiae aut atque rem suscipit\nnam impedit esse" 
     }], 
    items_new = null, 
    usedIds = []; 


_.each(items, function (item) { 
    if (!_.contains(usedIds, item.id)) { 
     _.filter(items, function (subItem) { 
      if (subItem.id != item.id && 
       subItem.userId == item.userId 
      ) { 
       item.title = item.title + ' ' + subItem.title; 
       item.body = item.body + ' ' + subItem.body; 
       usedIds.push(subItem.id); 
      } 
     }); 
    } 
}); 

items_new = _.filter(items, function (item) { 
    if (!_.contains(usedIds, item.id)) { 
     return true; 
    } 
}); 

_.each(items_new, function (item) { 
    delete item.id; 
}); 
console.log(items_new); 

https://jsfiddle.net/3me0rjpx/

関連する問題