2017-02-22 17 views
1

Я пытался исправить дублирующиеся элементы в массиве на javascript с помощью клавиш объектов. Цикл добавил «виртуальная реальность» и «виртуальная реальность» в том же объекте, что и разные ключи. Есть ли способ сделать объект Javascript не с учетом регистра?Являются ли javascript объектные ключи чувствительными к регистру?

+2

JavaScript не имеет словарей, то есть объекты. Кроме того, строки (на самом деле это то, о чем вы говорите) всегда чувствительны к регистру. –

+0

да чувствительны к регистру, но не словари, существуют только объекты, но в новых версиях. Карта –

+0

Вы всегда можете уменьшить ввод в нижний регистр и просто сравнить все как с нижним регистром. –

ответ

-1

JavaScript, как и большинство языков, действительно чувствителен к регистру. К сожалению, к этому нечего делать.

1

В то время как object properties являются строками, и они чувствительны к регистру, вы можете использовать собственный стандарт и использовать только строчные буквы для доступа.

К ключу можно применить String#toLowerCase и использовать функцию в качестве оболочки для доступа.

Пример с оберточным объектом.

function insert(key, value) { 
 
    if (!wrapper[key.toLowerCase()]) { 
 
     wrapper[key.toLowerCase()] = key; 
 
    } 
 
    data[wrapper[key.toLowerCase()]] = value; 
 
} 
 

 
var data = {}, 
 
    wrapper = {}; 
 

 
insert('Foo', 'bar'); 
 
console.log(data); 
 
insert('FOO', '42'); 
 
console.log(data);

+0

Я знаю об этом методе. Тем не менее, я использую ключи для визуализации данных и хотел бы избежать изменения случая. –

+0

В этом случае вы можете использовать объект wraper с строчными буквами для проверки. –

Смежные вопросы