Сравнение элементов массивов
Ребят такой вопрос есть два массива 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]
}));
|
Цитата:
|
| Часовой пояс GMT +3, время: 03:23. |