Полезная информация

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№109-08-2018 14:44:40

Scorp1978
Участник
 
Группа: Members
Зарегистрирован: 03-11-2016
Сообщений: 83
UA: IE 11.0

Не работает конструкция filter (js)

Есть вот такой кусок кода

скрытый текст

Выделить код

Код:

var linkList = window.document.querySelectorAll("a");    
var links = linkList.filter(Boolean)


ругается что нет функции  linkList.filter

Отсутствует

 

№210-08-2018 00:48:27

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 71
UA: Chrome 64.0

Re: Не работает конструкция filter (js)

querySelectorAll() – возвращает не массив, а массивоподобный объект

вместо Array.filter() используйте Array.from()

Отсутствует

 

№310-08-2018 05:26:22

Scorp1978
Участник
 
Группа: Members
Зарегистрирован: 03-11-2016
Сообщений: 83
UA: IE 11.0

Re: Не работает конструкция filter (js)

Вот так ругается на строку

ReferenceError: array is not defined, line 29 (Error code: -991)

для цитирования ошибок - используется тег quote (цитата)

скрытый текст

Выделить код

Код:

var links = array.from(window.document.querySelectorAll("a"));


код публикуется в тегах code под спойлером

удалено, избыточное цитирование
а в целом задача стоит из массива
скрытый текст

Выделить код

Код:

var linkList = window.document.querySelectorAll("a");


код публикуется в тегах code под спойлером
легко и не принужденно выдернуть все ссылки удовлетворяющие условию там какому нибудь


InfSub

Отредактировано Scorp1978 (10-08-2018 05:29:36)

Отсутствует

 

№410-08-2018 06:30:24

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 71
UA: Chrome 64.0

Re: Не работает конструкция filter (js)

Scorp1978 пишет:

Вот так ругается на строку
ReferenceError: array is not defined, line 29 (Error code: -991)

"Array" c заглавной буквы

скрытый текст

Выделить код

Код:

var node = window.document.querySelectorAll("a");

var links = Array.from(node, x => x.href);

window.console.log(links);

var rez = links.filter(a => a.length < 30);

window.console.log(rez);


Прежде чем городить огород, почитайте описание метода

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

Отредактировано Squatter (10-08-2018 06:53:17)

Отсутствует

 

№510-08-2018 07:19:14

Scorp1978
Участник
 
Группа: Members
Зарегистрирован: 03-11-2016
Сообщений: 83
UA: IE 11.0

Re: Не работает конструкция filter (js)

Squatter, огромное Вам спасибо.
Код уместил в 4-ре строки вместо 20-ти.

Отсутствует

 

№610-08-2018 07:41:26

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 71
UA: Chrome 64.0

Re: Не работает конструкция filter (js)

Пожалуйста. А чем тривиальный цикл for...of не устраивает?
ИМХО Быстрее и ещё короче

скрытый текст

Выделить код

Код:

var node = window.document.querySelectorAll("a");
var link = [];
for (let i of node) if(i.href.length < 30) link.push(i.href);
window.console.log(link);


Какое условие?

Отредактировано Squatter (10-08-2018 08:08:10)

Отсутствует

 

№710-08-2018 10:44:00

Scorp1978
Участник
 
Группа: Members
Зарегистрирован: 03-11-2016
Сообщений: 83
UA: IE 11.0

Re: Не работает конструкция filter (js)

в ссылке должно быть

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


ну или другой какой текст
любые ссылки должны быть под спойлером в тегах noindex, либо в тегах code под спойлером, в случае если ссылка в коде скрипта

InfSub

Отсутствует

 

№810-08-2018 10:51:41

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 71
UA: Chrome 64.0

Re: Не работает конструкция filter (js)

Тогда ещё проще

скрытый текст

Выделить код

Код:

var node = window.document.querySelectorAll('a[href*="kino.mail.ru"]');
var links = Array.from(node, x => x.href);
window.console.log(links);

Отсутствует

 

№910-08-2018 11:02:41

Scorp1978
Участник
 
Группа: Members
Зарегистрирован: 03-11-2016
Сообщений: 83
UA: IE 11.0

Re: Не работает конструкция filter (js)

теперь я точно знаю, что ничего не знаю )))
Squatter, спасибо еще раз.
да и еще к Вам в личку по поводу написания отдельной функции обратиться можно?

Отсутствует

 

№1010-08-2018 11:17:28

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 71
UA: Chrome 64.0

Re: Не работает конструкция filter (js)

да

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]