Замена элементов массива элементами массива
Здравствуйте.
Прошу подсказать как значения в (arrB) массива,заменить значениями совпадающими из (arrA) массива. var arrA = [['1','a'],['2','b'],['3','c'],['4','d']]; var arrB = ['1','4','2','8','1','6','5','2','4']; Ответ должен получиться: // arrB = 'a','d','b','8','a','6','5','b','d' |
Цитата:
- смотреть значения в arrA - если они есть - менять элемент в arrB |
Тупо перебором
function Arrays(A,B) { var m = A.length, n = B.length; for (var i = 0; i < m; i++) { for (var j = 0; j < n; j++) { if (B[j] === A[i][0]) B[j] = A[i][1]; } } return B; } var arrA = [['1','a'],['2','b'],['3','c'],['4','d']], arrB = ['1','4','2','8','1','6','5','2','4']; alert( Arrays(arrA,arrB) ); |
Цитата:
и соответственно цикл замены var arrA = [0, 'a', 'b', 'c', 'd'], arrB = ['1','4','2','8','1','6','5','2','4']; for(i = 0; i < arrB.length; i++) arrB[i] = arrA[arrB[i]] || arrB[i]; alert(arrB); |
Большое спасибо за ответы. Остановился на варианте "Тупа перебора" работает прекрасно =)
|
Часовой пояс GMT +3, время: 04:13. |