Saturday, 15 August 2015

javascript - Underscore - Compare two arrays of objects (positions) -



javascript - Underscore - Compare two arrays of objects (positions) -

is there way compare differences between arrays based on changes on elements positions?

i have original array of objects undergoes alter on 1 of it's element's values, alter mapped new array:

origelements = [{id: 1, value: 50}, {id: 2, value: 60}, {id: 3, value: 70}] changedelements = [{id: 1, value: 50}, {id: 3, value: 60}, {id: 2, value: 120}] var diff = _.difference(_.pluck(origelements, "id"), _.pluck(changedelements, "id")); var result = _.filter(origelements, function(obj) { homecoming diff.indexof(obj.id) >= 0; });

in case clear why 'result' homecoming nothing. there's no difference of values between: [1, 2, 3] , [1, 3, 2]. i'm trying accomplish here 'strict difference' @ index well, returning reference new order of objects.

how doing way:

var origelements = [{ id: 1, value: 50 }, { id: 2, value: 60 }, { id: 3, value: 70 }]; var changedelements = [{ id: 1, value: 50 }, { id: 3, value: 60 }, { id: 2, value: 120 }]; var origelementsids = _.pluck(origelements, "id"); var changedelementsids = _.pluck(changedelements, "id"); console.log("are array element positions same ?", origelementsids.join() === changedelementsids.join());

javascript arrays sorting underscore.js

No comments:

Post a Comment