簡體   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