繁体   English   中英

基于javascript中位置的数组差异

[英]array difference based on positions in javascript

我已经尝试了多种方法来解决此问题,任何注意都将大有帮助。 我在项目中使用ng-draggable.js具有拖放功能,因此最初我将元素设置为array A ,当我将元素拖放到数组中时,我不知道如何捕获更改了该数组中具有位置的元素。 例如, A = [1,2,3]现在客户可以通过拖放功能更改头寸。 它变成B = [2,1,3] 当我对A and B进行比较时,我必须获取具有位置的更改后的元素[2,1] ,以便可以将其发送到具有更新位置的服务器上的元素。 我已经尝试过underscore.js _.difference(A,B) ,它给了我一个空数组,

似乎.difference()返回了设置差异,但是索引在这里很重要:

 var a = [1,2,3]; var b = [2,1,3]; var diff = a.filter(function(value, index) { return b[index] != value; }); //[1,2] var positions = diff.map(function(value) { return b.indexOf(value); }); // [0,1] 

然后,对于每个这些值,您都需要使用.indexOf()在数组b找到位置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM