我的翻譯文件看起來像這樣:如何在JavaScript/angularJS中獲取i18n文件中的數組長度?
{
"RANDOM": [
{
"ITEM": "basdf"
},
{
"ITEM": "casdf"
},
{
"ITEM": "dasdf"
},
{
"ITEM": "easdf"
}
]
}
我想隨機顯示的項目之一:
getQuestion() {
const sizeOfRandomItems = 4;
const randomNumber = Math.floor(Math.random() * sizeOfRandomItems);
return this.$filter('i18n')('RANDOM.' + randomNumber + '.ITEM');
}
但每當我想在我的翻譯文件中添加一個新的項目,我想還必須手動更新sizeOfRandomItems
。有沒有辦法在翻譯文件中獲得RANDOM
數組的大小?
我alread嘗試:
const arraySize = this.$filter('i18n')('RANDOM');
console.log(arraySize.length);
但首先,我得到一個警告:
i18n-translate.js:205 Missing key:
返回6
(這是charachters在持有該陣列的關鍵數字RANDOM
)
如果你有一個包含你的結構的變量,那麼你可以只是'myVariable.RANDOM.length' – James
@James起初我以爲它也是那麼簡單,但事實並非如此。 – thadeuszlay