Всем доброго времени суток
Помогите решить задачку: Нужно написать аналог метода every. "Создайте функцию every, она должна принимать первым аргументом массив чисел (обязательно проверьте что передан массив) вторым аргументом callback функция должна возвращать true или false в зависимости от результата вызова callback (проверить число больше 5). Callback должен принимать один элемент массива, его индекс в массиве и весь массив." Всем спасибо
Пример полифилла можно найти в справке по функции every
if (!Array.prototype.every) {
Array.prototype.every = function(callbackfn, thisArg) {
'use strict';
var T, k;
if (this == null) {
throw new TypeError('this is null or not defined');
}
// 1. Положим O равным результату вызова ToObject над значением
// this, переданным в качестве аргумента.
var O = Object(this);
// 2. Положим lenValue равным результату вызова внутреннего метода Get
// объекта O с аргументом "length".
// 3. Положим len равным ToUint32(lenValue).
var len = O.length >>> 0;
// 4. Если IsCallable(callbackfn) равен false, выкинем исключение TypeError.
if (typeof callbackfn !== 'function') {
throw new TypeError();
}
// 5. Если thisArg присутствует, положим T равным thisArg; иначе положим T равным undefined.
if (arguments.length > 1) {
T = thisArg;
}
// 6. Положим k равным 0.
k = 0;
// 7. Пока k < len, будем повторять
while (k < len) {
var kValue;
// a. Положим Pk равным ToString(k).
// Это неявное преобразование для левостороннего операнда в операторе in
// b. Положим kPresent равным результату вызова внутреннего метода
// HasProperty объекта O с аргументом Pk.
// Этот шаг может быть объединён с шагом c
// c. Если kPresent равен true, то
if (k in O) {
// i. Положим kValue равным результату вызова внутреннего метода Get
// объекта O с аргументом Pk.
kValue = O[k];
// ii. Положим testResult равным результату вызова внутреннего метода Call
// функции callbackfn со значением T в качестве this и списком аргументов,
// содержащим kValue, k и O.
var testResult = callbackfn.call(T, kValue, k, O);
// iii. Если ToBoolean(testResult) равен false, вернём false.
if (!testResult) {
return false;
}
}
k++;
}
return true;
};
}
Array.prototype.every = (..arg) => {
this.every(...arg);
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть библиотека, которая разрабатывается по ходу, и основной проект, в котором эта библиотека используетсяДопустим:
Есть ссылка с классом button primary marginBlock _participateNow Есть код взятый с интернета
Всем привет! Обнаружил странную проблемуУ меня есть jQuery плагин, который подключается таким вот образом
Запуск страници, скрол внизуОтправил сообщение Клиент -> сервер-> клиент Скрол на месте сообщение внизу,не видно,приходится крутить скролл