Показать сообщение отдельно
  #12 (permalink)  
Старый 21.02.2015, 03:06
Интересующийся
Посмотреть профиль Найти все сообщения от kotlov-net
 
Регистрация: 20.02.2015
Сообщений: 13

Вроде вот так можно, но не уверен
arr1=[1,2,30,4,5]
arr2=[9,80,1,2,30]

extract=function(oldArr, newArr){
 var i=0, ns="", oldArr=oldArr.join(), newArr=newArr.join()
 while(!new RegExp("^"+newArr.slice(i)).test(oldArr)) {ns+=newArr[i]; i++}

 return ns.split(",").filter(function(x){return x!==""})

}

alert(extract(arr1, arr2))



//>>>> [ '9', '80' ]

Вообще, по-моему, задача в общем случае, неразрешима. Неизвестно, какие данные придут в новый массив, они могут в любом подмножестве совпадать с исходными. Поэтому нет надежного шаблона для проверки.

Последний раз редактировалось kotlov-net, 21.02.2015 в 03:15.
Ответить с цитированием