Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получить символы из строки, удалить дубликаты (https://javascript.ru/forum/misc/65874-poluchit-simvoly-iz-stroki-udalit-dublikaty.html)

Madzal 12.11.2016 14:03

Получить символы из строки, удалить дубликаты
 
Имеется строка :
https://www.computeruniverse.ru/prod...win-x2-6gb.asp
https://www.computeruniverse.ru/prod...win-x2-6gb.asp
https://www.computeruniverse.ru/prod...-lc-cc-120.asp
https://www.computeruniverse.ru/prod...-lc-cc-120.asp
https://www.computeruniverse.ru/prod...-6700-tray.asp
https://www.computeruniverse.ru/prod...-6700-tray.asp
Нужно получить :
90665623
90635687
90613459
Как это правильно сделать ?

Madzal 12.11.2016 14:08

Получаю ссылки на странице таким методом :
var a = '';
    [].forEach.call(document.querySelectorAll('a[class=black]'), function(item) {
    a = a + item.href;
});

Deff 12.11.2016 18:02

<a class="black" href="https://www.computeruniverse.ru/products/90665623/inno3d-geforce-gtx1060-twin-x2-6gb.asp" target="_blank" rel="nofollow">https://www.computeruniverse.ru/prod...win-x2-6gb.asp</a>
<br/>
<a class="black" href="https://www.computeruniverse.ru/products/90665623/inno3d-geforce-gtx1060-twin-x2-6gb.asp" target="_blank" rel="nofollow">https://www.computeruniverse.ru/prod...win-x2-6gb.asp</a>
<br/>
<a class="black" href="https://www.computeruniverse.ru/products/90635687/lc-power-cosmo-cool-lc-cc-120.asp" target="_blank" rel="nofollow">https://www.computeruniverse.ru/prod...-lc-cc-120.asp</a>
<br/>
<a class="black" href="https://www.computeruniverse.ru/products/90635687/lc-power-cosmo-cool-lc-cc-120.asp" target="_blank" rel="nofollow">https://www.computeruniverse.ru/prod...-lc-cc-120.asp</a>
<br/>
<a class="black" href="https://www.computeruniverse.ru/products/90613459/intel-core-i7-6700-tray.asp" target="_blank" rel="nofollow">https://www.computeruniverse.ru/prod...-6700-tray.asp</a>
<br/>
<a class="black" href="https://www.computeruniverse.ru/products/90613459/intel-core-i7-6700-tray.asp" target="_blank" rel="nofollow">https://www.computeruniverse.ru/prod...-6700-tray.asp</a>


<script type="text/javascript">
var obj={},a = '';
    [].forEach.call(document.querySelectorAll('a[class=black]'), function(item) {
    var b = item.href.replace(/.*\/products\/(\d+)\/.*/,'$1');
    if(!isNaN(+b))obj[b]=(obj[b]?++obj[b]:1);
    });
 alert(JSON.stringify(obj))
</script>

Aetae 12.11.2016 18:04

var products = Object.keys(
  Array.prototype.reduce.call(
    document.querySelectorAll('a.black'),
    function(obj, value){
      var match = value.href.match(/\/products\/(\d+)\//);
      if(match) obj[match[1]] = true;
      return obj; 
    },
    {}
  )
)


Часовой пояс GMT +3, время: 05:37.