Автор Da Net задал вопрос в разделе JavaScript
Как создать метод для любого массива, который вызывался как, например, push? То есть так: arr.push(). и получил лучший ответ
Ответ от Андрей[гуру]
Метод, существующий в любом дочернем объекте, в JavaScript делается через прототипы. Любой массив - это наследник объекта Array. Так что метод с названием new_method для всех массивов создаётся так:
Array.prototype.new_method = function() { твой_код };
Ответ от Павел Корнилов[гуру]
Целиком согласен с Андреем из 1 поста, но хочу добавить, что при расширении базовых прототипов нужно делать проверку на наличие нативного метода, либо метода, добавленного другим скриптом.
Array.prototype.new_method = Array.prototype.new_method || function() { твой_код };
Целиком согласен с Андреем из 1 поста, но хочу добавить, что при расширении базовых прототипов нужно делать проверку на наличие нативного метода, либо метода, добавленного другим скриптом.
Array.prototype.new_method = Array.prototype.new_method || function() { твой_код };
Ответ от Николай Веселуха[гуру]
Может имеет смысл не расширять встроенный объект, а написать свой похожий? В который можно добавить только нужные методы, какие-то переопределить по своему усмотрению, добавить свои собственные. Например, вот так...
let o = {}
o.a = [];
o.toString = function (delim = ",") {
let res = "";
for (let item of this.a) {
if (res.length > 0) res += delim;
res += item;
}
return res;
};
o.push = function (...args) {
for (let item of args) this.a.push(item);
};
o.func = function (x) {
for (let i = 0; i < this.a.length; i += 1) this.a[i] *= x;
};
o.reverse = function () {
this.a.reverse();
};
o.valueOf = function () {
return this.a.valueOf();
};
o.push(2, 3);
o.push(5, 6);
o.push(8);
console.log(o.valueOf());
let x = 3;
o.func(x);
console.log(o.valueOf());
o.reverse();
console.log(o.valueOf());
Может имеет смысл не расширять встроенный объект, а написать свой похожий? В который можно добавить только нужные методы, какие-то переопределить по своему усмотрению, добавить свои собственные. Например, вот так...
let o = {}
o.a = [];
o.toString = function (delim = ",") {
let res = "";
for (let item of this.a) {
if (res.length > 0) res += delim;
res += item;
}
return res;
};
o.push = function (...args) {
for (let item of args) this.a.push(item);
};
o.func = function (x) {
for (let i = 0; i < this.a.length; i += 1) this.a[i] *= x;
};
o.reverse = function () {
this.a.reverse();
};
o.valueOf = function () {
return this.a.valueOf();
};
o.push(2, 3);
o.push(5, 6);
o.push(8);
console.log(o.valueOf());
let x = 3;
o.func(x);
console.log(o.valueOf());
o.reverse();
console.log(o.valueOf());
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как создать метод для любого массива, который вызывался как, например, push? То есть так: arr.push().
спросили в Другое ActionScript
Как называется свойство находить объект по звуку?
Играли в детстве в жмурки?
#yaimg158949#
Вряд ли найдется кто-нибудь, незнакомый с
подробнее...
Как называется свойство находить объект по звуку?
Играли в детстве в жмурки?
#yaimg158949#
Вряд ли найдется кто-нибудь, незнакомый с
подробнее...
спросили в Музыка New
Помогите, пожалуйста, найти ПЕРЕВОД песни Hans Zimmer And Lisa Gerrard - Now We Are Free (OST Gladiator)
"Now we are free" исполняется на несуществующем языке. Lisa Gerrard (вокалистка) жила в Австралии,
подробнее...
Помогите, пожалуйста, найти ПЕРЕВОД песни Hans Zimmer And Lisa Gerrard - Now We Are Free (OST Gladiator)
"Now we are free" исполняется на несуществующем языке. Lisa Gerrard (вокалистка) жила в Австралии,
подробнее...
спросили в Air China
Помогите найти текс по английскому :"A Tragedy in the Air"
The plane had taken off from the air-field in London, and the journey to South Africa, to
подробнее...
Помогите найти текс по английскому :"A Tragedy in the Air"
The plane had taken off from the air-field in London, and the journey to South Africa, to
подробнее...
Помогите с ошибкой: "All the games in this guest pass redemption request are already owned by the user"
Guest pass - это временный доступ к игре. Ты не можешь активировать у себя временный доступ к игре,
подробнее...
спросили в Ножницы
как употребляется слово ножницы в английском с каким глагоголом is или are
Маргарита, пишется с глаголом are. Объясню:
ножницы
мн. 1. scissors; a pair of scissors
подробнее...
как употребляется слово ножницы в английском с каким глагоголом is или are
Маргарита, пишется с глаголом are. Объясню:
ножницы
мн. 1. scissors; a pair of scissors
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Музыка
Michael Cera Ellen Page - Anyone Else But You слова к песне
Your part time lover and a full time friend,
The monkey on the back is the latest
подробнее...
Michael Cera Ellen Page - Anyone Else But You слова к песне
Your part time lover and a full time friend,
The monkey on the back is the latest
подробнее...
спросили в Avatar Press Dinocarida
SNIPER BOW PACK где в скайриме найти луки из этого мода?
Будет 13 луков новых. 4 лука уникальных лука — заменяет, 9 можно скрафтить.
вот, только
подробнее...
SNIPER BOW PACK где в скайриме найти луки из этого мода?
Будет 13 луков новых. 4 лука уникальных лука — заменяет, 9 можно скрафтить.
вот, только
подробнее...
спросили в Интернет
как удалить Browser Air
Подробнее, если можно: что это, как попало к вам и т. д.?
Скорее всего, это ПНП,
подробнее...
как удалить Browser Air
Подробнее, если можно: что это, как попало к вам и т. д.?
Скорее всего, это ПНП,
подробнее...
спросили в Мода
Психоделическая одежда где купить? Хочу купить одежду на open-air
#yahrefs443057# здесь поищи вроде выбор большой и не только психоделика много разной 3D
подробнее...
Психоделическая одежда где купить? Хочу купить одежду на open-air
#yahrefs443057# здесь поищи вроде выбор большой и не только психоделика много разной 3D
подробнее...
спросили в Arrow Air
Правильный ли перевод с русского на английский? Какие ошибки?
I`d like something greyish-blue.
B: Have a look at these blouses then, will you? We`ve got some
подробнее...
Правильный ли перевод с русского на английский? Какие ошибки?
I`d like something greyish-blue.
B: Have a look at these blouses then, will you? We`ve got some
подробнее...
спросили в Kamen Rider
Помогите с диалогом на английском языке?!
Mom: so, i'm going to prepare our supper now. How many are we?
Jack: it's me, dad and you who
подробнее...
Помогите с диалогом на английском языке?!
Mom: so, i'm going to prepare our supper now. How many are we?
Jack: it's me, dad and you who
подробнее...
спросили в Drone films
подскажите,где найти фильмы по романам Натальи Нестеровой
ТУТ!! !
kinozal.tv
нажми на "РАЗДАЧИ"
удачи!! !
или тут:
подробнее...
подскажите,где найти фильмы по романам Натальи Нестеровой
ТУТ!! !
kinozal.tv
нажми на "РАЗДАЧИ"
удачи!! !
или тут:
подробнее...
Текст по англу.
Sometimes lava and gases are
released from the crater. лучше просто release? они ведь
подробнее...
юмоляю помогите
why did you take an exam on literature yesterday? (здесь по смыслу глупость, должно быть why
подробнее...
спросили в Dan Air
помогите найти перевод песни 2 pac-а
есть такой вариант - кажется это он
2 Pac & Phil Collins - In the air tonight
подробнее...
помогите найти перевод песни 2 pac-а
есть такой вариант - кажется это он
2 Pac & Phil Collins - In the air tonight
подробнее...