Питонический словарь в Javascript - PullRequest
0 голосов
/ 17 декабря 2011

Как бы вы реализовали Python-словарь в Javascript, который может хранить пары ключ-значение, и ключ может быть кортежем?

Я хотел бы найти все привязки, а затем сохранить значения его атрибутов href и title для словаря в качестве ключей (значение href, значение заголовка) и количество экземпляров этого кортежа в качестве значения.

Код будет выглядеть так (это смесь Python и Javascript):

var anchors = document.querySelectorAll ("a");
d = []; // dictionary data structure
for (var i = 0, len = anchors.length; i < len; i++) {
  currentTuple = (anchors[i].href, anchors[i].title);
  if (!d.containsKey(currentTuple)) {
    d[currentTuple] = 1;
  } else {
   d[currentTuple] += 1;
  }
}

Может быть, было бы проще, если бы ключи не могли быть кортежами, но если это возможно, я бы хотел это увидеть.

спасибо

1 Ответ

1 голос
/ 17 декабря 2011

Может ли это работать? Он просто объединяет title и href как уникальный ключ.

var data = [].reduce.call( document.links, function( data, a){
    var key = a.href+","+a.title;
    if( data[key] ) {
        data[key]++;
    }
    else {
        data[key] = 1;
    }   

return data;
}, {} );

http://jsfiddle.net/knYwb/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...