Вопрос по arrays, javascript, json – Пользовательский индексатор Javascript

8

В C # вы можете создать собственный индексатор, как так

public object this[string name]
    {

    }

Я работаю с библиотекой виджетов JavaScript, в которой есть виджет, который принимает множество объектов в качестве свойства, называемого метками, например

new  Thingy({
      labels: [{value:1, text:"my label"},[{value:2, text:"my next label"}]
      });

Проблема в том, что вы должны планировать заранее, чтобы точно знать, какие значения нужны для метки. Например, в приведенном выше примере я знаю, что метки будут для значений 1 и 2. Но если я не знаю, какими могут быть значения, я хотел бы иметь возможность динамически создавать текст, основываясь на его значении. пытается получить доступ

поэтому, когда библиотека внутренне пытается получить доступ:

this.labels[n].text

Я хотел бы, чтобы this.labels [n] делал что-то вроде

function(n){return {text: "label for " + n};}

Возможно ли это в рамках языка JavaScript?

Ваш Ответ

1   ответ
1

ES6 прокси в последнем Chrome и написать обработчик, как в C #, но он не будет совместим со старыми браузерами.

Тем временем я предлагаю положитьgetLabel() метод наThingy.prototype.

Похожие вопросы