Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2015, 18:48   #1
Александр Шатило
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 29
Сообщение Объекты Math, Array

Задан массив с элементами (pow,pop,push,shift,round,floor,sli ne,sort). Получить из него 2 массива, в один записать методы объекта Array, а во второй записать методы объекта Math
Тишка
Александр Шатило вне форума Ответить с цитированием
Старый 26.03.2015, 19:42   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

выглядит как задание.. решайте я буду рад за вас, когда у вас получится, дайте нам знать, ок?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 26.03.2015, 19:46   #3
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Код:
var allProperties = 'pow,pop,push,shift,round,floor,sli,ne,sort'.split(',');

var allArrayPrototypeProperties = new Set(Object.getOwnPropertyNames(Array.prototype));
var allMathProperties = new Set(Object.getOwnPropertyNames(Math));

var intersectedArrayPrototypeProperties = allProperties.filter((key) => allArrayPrototypeProperties.has(key));
var intersectedMathProperties = allProperties.filter((key) => allMathProperties.has(key));

console.log('intersectedArrayPrototypeProperties', intersectedArrayPrototypeProperties);
console.log('intersectedMathProperties', intersectedMathProperties);
sandbox =)
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 26.03.2015, 19:53   #4
Александр Шатило
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 29
По умолчанию

Как-нибудь вот так можно сделать?

<script type='text/javascript'>
var a=['pow','pop','push','shift','round', 'floor','sline','sort'];
var b=[];
var c=[];
for (var i=0;i<=7;i++)
{
if(a[i]==Math.a[i])
{b[i]=a[i]; document.write(b[i] + "</br>");}
else
{c[i]=a[i]; document.write(c[i] + "</br>");}
}
</script>
Тишка
Александр Шатило вне форума Ответить с цитированием
Старый 26.03.2015, 19:58   #5
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

вторая версия =)
Код:
let allProperties = 'pow,pop,push,shift,round,floor,sli,ne,sort'.split(',');

let intersectedArrayPrototypeProperties = allProperties.filter((key) => Array.prototype.hasOwnProperty(key));
let intersectedMathProperties = allProperties.filter((key) => Math.hasOwnProperty(key));

console.log('intersectedArrayPrototypeProperties', intersectedArrayPrototypeProperties);
console.log('intersectedMathProperties', intersectedMathProperties);
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 26.03.2015, 20:00   #6
Александр Шатило
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 29
По умолчанию

я такого синтаксиса не знаю(
Тишка
Александр Шатило вне форума Ответить с цитированием
Старый 26.03.2015, 20:26   #7
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Цитата:
Сообщение от Александр Шатило Посмотреть сообщение
я такого синтаксиса не знаю(
поэтому я написал именно так =)

http://programmersforum.ru/showpost....97&postcount=4
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 26.03.2015, 20:38   #8
Александр Шатило
Пользователь
 
Регистрация: 18.01.2015
Сообщений: 29
По умолчанию

так а можно так как я написал примерно?
Тишка
Александр Шатило вне форума Ответить с цитированием
Старый 26.03.2015, 21:19   #9
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Узнать есть ли в данном объекте данный метод, можно просто
Код:
var yourProperty = 'round';
if (Math.prototype[ yourProperty ]) { return true }// true;
дальше, надеюсь, сам додумаешь. Если нет, то — фриланс, там ребята помогут, тут делов на 20 минут.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 26.03.2015, 22:40   #10
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Цитата:
Сообщение от Александр Шатило Посмотреть сообщение
так а можно так как я написал примерно?
посмотри выше, я ссылки на песочницы давал (там, где экран на две части разделен и в сообщениях код). слева - незнакомый тебе синтаксис, а справа знакомый

Цитата:
Сообщение от Naive Посмотреть сообщение
Узнать есть ли в данном объекте данный метод
это не в объекте, это во всей цепочке прототипов
Код:
Object.prototype.foo = 1;

var bar = {};

alert(bar.foo); // 1
Цитата:
Сообщение от Naive Посмотреть сообщение
Код:
if (Math.prototype[ yourProperty ])
какой еще "Math.prototype"? =)
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Для чего существует коммутативность array[2] == 2[array] _PROGRAMM_ Помощь студентам 10 02.11.2014 13:33
В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты ИльназВ C# (си шарп) 13 22.11.2012 19:00
библиотека Math BattleMage Общие вопросы .NET 4 26.02.2010 23:30
Math Zeraim Общие вопросы Delphi 7 04.06.2008 23:47
Array или не array Димарик Общие вопросы Delphi 4 18.06.2007 15:16