Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Сравнение элементов массивов (https://javascript.ru/forum/misc/48769-sravnenie-ehlementov-massivov.html)

kobezzza 16.07.2014 19:18

Цитата:

Сообщение от nerv_ (Сообщение 321356)
sugarjs или lowdash. Я использую первое.

https://github.com/kobezzza/Collection :)

nesta_dima 13.01.2015 16:08

Ребят подскажите, нужно удалить из символьного массива все знаки пунктуации.
window.onload=function(){
var s = "T $ # d @ e f g &"; //исходная строка
var ss = s.split(" "); //разделяю по символу в массив ss  
var mas=[]; //новый массив для переноса после редактирования
var k=0; //счетчик
var a=['#','$','@','&']; //что нужно заменить,знаки пунктуации
for (var i=0; i<ss.length;i++){// использую 2 массива
for (var j=0; j<a.length;j++){
if (ss[i]!=a[j]){ // если символ не совпадает с пунктуацией 
 mas[k]=ss[i]; //записываем в массив
 k++;  /
}}
}
alert(mas); // по моей логике должно выдать "Tdefg" но мне не выдает ничего.
}

рони 13.01.2015 16:23

nesta_dima,
11 строка ??? и для вашей задачи циклы ненужны
<script>
var s = "T $ # d @ e f g &"; //исходная строка
var ss = s.split(/[#$@&\s]+/).join('');
alert(ss)
</script>

nesta_dima 13.01.2015 16:57

рони нужен массив
 
По заданию символьный массив

рони 13.01.2015 17:07

Цитата:

Сообщение от nesta_dima
По заданию символьный массив

и ???

nesta_dima 13.01.2015 17:14

ДА верно. Подскажи а как удалить элементы, расположенные между максимумом и минимумом массива, если поменять T $ # d @ e f g & на 5 2 1 5 6 2 55.2 1
1)Находим max i min, запоминаем позиции и копируем в новый массив?

рони 13.01.2015 17:19

nesta_dima,
и что будет минимумом первая единица или вторая

nesta_dima 13.01.2015 17:21

Первую единицу будем считать за min

рони 13.01.2015 17:42

nesta_dima, наверняка есть и другие варианты
<script>
   var str = "5 2 1 5 6 2 55.2 1";
   var arr = str.split(' ');
   var min  =  Math.min.apply(Math, arr);
   var max = Math.max.apply(Math, arr);
   var reg = RegExp(min + " .*? " + max);
   str = str.replace(reg, min + " " + max);
   alert(str)
</script>

nesta_dima 13.01.2015 18:38

не работает с точкой
 
можешь пояснить .*? функцию replace в твоем контексте


Часовой пояс GMT +3, время: 21:26.