Сравнение элементов массивов
Ребят такой вопрос есть два массива array1 = ["п","р","ы","в","е","т"] и второй array2 = ["п","р"]
необходимо первый элемент массива array2 сравнить с каждым элементом массива array1 как это реализуется?? Прошу не судить строго только начал изучать и пытаюсь писать свои функции)) |
<html> <head> <title>example</title> </head> <body> <script> //создаем массивы var array1 = ["п","р","ы","в","е","т"], array2 = ["п","р"]; //у каждого массива есть очень важное свойство - это длинна массива. чтобы ее узнать //необходимо прописать имя_массива.length т.е. array1.length //попробуем вывести длинну в консоль console.log(array1.length); console.log(array2.length); //здесь будем хранить значение элемента var cache; //сохраним длины массивов: var ln1 = array1.length ln2 = array2.length; //теперь делаем цикл for (var i = 0; i < ln1; ++i) { cache = array1[i]; for (var j = 0; j < ln2; ++j) { if (cache == array2[j]) { console.log('найдено совпадение: ' + cache); break; } } } </script> </body> </html> |
спасибо попробую применить ))
|
проблема в том что я начинающий и мне пока трудно ориентироваться в циклах и прочих нюансах)) они пока не очевидны для меня хотя теоретически их освоил))) но думаю со временем мозг окрепнет и рука набъется)))
|
подскажи пожалуйста как правильно определять когда нужно использовать префиксную а когда постфиксную запись инкремента?? я с их теоретической основой знаком но на практике никак не пойму)) они ж блин работают практически одинаково))
|
Цитата:
var array = ["a", "b"]; var index = array.length; // выведет только "b", потому что нужно, чтобы в условие // предыдущее значение. Надо использовать index--. while (--index) alert( array[index] ); |
спасибо))) ох блин как все не просто)))
|
Цитата:
function isEqual(a, b) { return a.length == b.length && a.every(isEqual, b); function isEqual(value, index) { return value === this[index]; } }; function contains(a, b) { return a.length >= b.length && a.some(contains, b); function contains(value, index, array) { var slice = array.slice(index, index + this.length); return isEqual(slice, this); } }; var array1 = ["п","р","ы","в","е","т"], array2 = ["п","р"]; alert( contains(array1, array2) ); На практике, лично мне, почти всегда, для манипуляций с массивами, хватает стандартных методов forEach, map, filter, indexOf, reduce. |
:write:
var array1 = ["п", "р", "ы", "в", "е", "т"], array2 = ["п", "р"] alert(array1.map(function (el) { return el == array2[0] })); |
Цитата:
|
|
Ребят подскажите, нужно удалить из символьного массива все знаки пунктуации.
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" но мне не выдает ничего. } |
nesta_dima,
11 строка ??? и для вашей задачи циклы ненужны <script> var s = "T $ # d @ e f g &"; //исходная строка var ss = s.split(/[#$@&\s]+/).join(''); alert(ss) </script> |
рони нужен массив
По заданию символьный массив
|
Цитата:
|
ДА верно. Подскажи а как удалить элементы, расположенные между максимумом и минимумом массива, если поменять T $ # d @ e f g & на 5 2 1 5 6 2 55.2 1
1)Находим max i min, запоминаем позиции и копируем в новый массив? |
nesta_dima,
и что будет минимумом первая единица или вторая |
Первую единицу будем считать за min
|
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> |
не работает с точкой
можешь пояснить .*? функцию replace в твоем контексте
|
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 08:27. |