Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.10.2020, 14:42
Новичок на форуме
Отправить личное сообщение для fmmshadiq Посмотреть профиль Найти все сообщения от fmmshadiq
 
Регистрация: 22.10.2020
Сообщений: 7

Массив объектов и изменение его ключей
Есть массив с объектами, поменять значение ключей в объектах у меня вышло. Но поменять сами ключи в нем не выходит.
Пример ниже меняет значения ключей, как сделать то же действие(перезаписать значение в верхнем регистре) но для самих ключей (name, lastname => NAME, LASTNAME).

var workers = [
    {
        name : 'maxim',
        lastname : 'ivanov'
    },
    {
        name : 'ivan',
        lastname: 'borisov'
    }
];

function namestoupper(...args) {
        for (var i=0; i<args.length; i++) {
            if (typeof (args[i].lastname, args[i].name) ==="string") {
                args[i].lastname = args[i].lastname.toUpperCase();
                args[i].name = args[i].name.toUpperCase();
            }
        }
}

namestoupper(...workers);
console.log(workers);


Просто для объекта я делал вот так :
var worker = {
    name : "andery",
    lastname : "petrov",
    age : 30,
    profession : "programmer"
};


function touppercase(obj) {
    for (var prop in obj) {
        if (typeof prop === "string") {
            obj[prop.toUpperCase()] = obj[prop];
            delete obj[prop];
        }
    }
}

touppercase(worker);
console.log(worker);


Но как сделать для массива с объектами?
Ответить с цитированием
  #2 (permalink)  
Старый 28.10.2020, 14:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

fmmshadiq,
что на входе и что на выходе?
Ответить с цитированием
  #3 (permalink)  
Старый 28.10.2020, 15:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

fmmshadiq,

<script>
const workers = [
    {
        name : 'maxim',
        lastname : 'ivanov'
    },
    {
        name : 'ivan',
        lastname: 'borisov'
    }
];
function namestoupper(arr) {
    arr.forEach(obj => {
    for (let key in obj) {
    obj[key.toUpperCase()] = obj[key];
    delete obj[key]
    }
    })
}
namestoupper(workers);
document.write(`<pre>${JSON.stringify(workers, "", 1)}</pre>`)
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 28.10.2020, 15:06
Новичок на форуме
Отправить личное сообщение для fmmshadiq Посмотреть профиль Найти все сообщения от fmmshadiq
 
Регистрация: 22.10.2020
Сообщений: 7

На входе у нас массив с объектами
var workers = [

    {

        name : 'maxim',

        lastname : 'ivanov'

    },

    {

        name : 'ivan',

        lastname: 'borisov'

    }

];


На выходе нужно name и lastname чтобы были в виде NAME и LASTNAME (заглавными буквами)
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2020, 15:08
Новичок на форуме
Отправить личное сообщение для fmmshadiq Посмотреть профиль Найти все сообщения от fmmshadiq
 
Регистрация: 22.10.2020
Сообщений: 7

Сообщение от рони Посмотреть сообщение
fmmshadiq,

<script>
const workers = [
    {
        name : 'maxim',
        lastname : 'ivanov'
    },
    {
        name : 'ivan',
        lastname: 'borisov'
    }
];
function namestoupper(arr) {
    arr.forEach(obj => {
    for (let key in obj) {
    obj[key.toUpperCase()] = obj[key];
    delete obj[key]
    }
    })
}
namestoupper(workers);
document.write(`<pre>${JSON.stringify(workers, "", 1)}</pre>`)
</script>
Понял, спасибо
Ответить с цитированием
  #6 (permalink)  
Старый 28.10.2020, 15:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от fmmshadiq
На выходе нужно name и lastname чтобы были в виде NAME и LASTNAME
Интересно, а зачем?
Ответить с цитированием
  #7 (permalink)  
Старый 28.10.2020, 16:55
Новичок на форуме
Отправить личное сообщение для fmmshadiq Посмотреть профиль Найти все сообщения от fmmshadiq
 
Регистрация: 22.10.2020
Сообщений: 7

Сообщение от laimas Посмотреть сообщение
Интересно, а зачем?
Проосто начал изучать Javascript и задание похожее было в курсе. Вот и решил до конца разобраться с этим чтобы двигаться дальше )
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сформировать массив данных и отправить его в PHP средствами JS westnord Общие вопросы Javascript 21 16.07.2013 12:18
Упорядочить заданный числовой массив X (M) в порядке убывания значений его элементов rjabijj Общие вопросы Javascript 6 06.07.2012 21:34
Упорядочить заданный числовой массив X (M) в порядке убывания значений его элементов. Drimmer Серверные языки и технологии 0 02.07.2012 18:22
Изменение содержания окна в зависимости от места его вызова Bushetta Общие вопросы Javascript 2 07.06.2012 16:12
массив объектов bohdan Общие вопросы Javascript 2 29.02.2012 23:40