Элемент массива нельзя присвоить по ссылке?

Функция должна:

  1. Получить строку с дефисом.

  2. Убрать дефис.

  3. Сделать из строки массив.

  4. Второй элемент написать с большой буквы.

  5. Преобразовать массив обратно к строке.

function camelize(str) {
    let newStr = str.split('-'); //[background, color]
    for (let i = 0; i < newStr.length; i++) {
        if (i > 0) {
            let a = newStr[i];
            a.toLowerCase();
            a = a[0].toUpperCase() + a.slice(1);
        }
    };

    newStr = newStr.join(''); 
    return newStr;
}
console.log(camelize("background-color")); //'backgroundсolor' вместо желаемого 'backgroundColor'

Но у меня не получается этого сделать из-за переменной a.

Вопрос: неужели элемент массива нельзя присвоить и изменить по ссылке? Это же объект. Изменяя объект через одну переменную, мы изменяем его и в другой переменной.

let obj1 = {
  name: 'Rita'
};
let obj2 = obj1;
obj2.name = 'Margarita';

console.log(obj1.name); //'Margarita'


Ответы (1 шт):

Автор решения: Igor
        let a = newStr[i].toLowerCase();
        newStr[i] = a[0].toUpperCase() + a.slice(1);
→ Ссылка