Выберите определенные значения и сортируйте по алфавиту в ES6 - PullRequest
0 голосов
/ 11 октября 2018

Как выбрать определенные значения и отсортировать их по алфавиту с помощью ES6.Текущие коды определяют константу.Я хотел знать, смогу ли я манипулировать этими данными, не создавая новую константу только с теми значениями, которые мне нужны.

export const names = {
John: 'John',
Mike: 'Mike',
David: 'David',
Chris: 'Chris'
};

Вернуть только Криса и Дэвида.

Крис

David

Ответы [ 2 ]

0 голосов
/ 11 октября 2018
const names = {
  John: 'John',
  Mike: 'Mike',
  David: 'David',
  Chris: 'Chris',
};

const searchNames = (args, search) => {
  const arr = Object.values(args);
  const result = arr.filter(n => {
    return search.includes(n);
  });
  return result.sort().join('\n');
};

searchNames(names, ['David', 'Chris']);
// returns: Chris  
//          David

Не самый элегантный, но работает.Было бы легче начать с массива, а не с объекта.Не похоже, что объект необходим, поскольку ключи и значения идентичны.Тем не менее, это довольно простая задача с массивом.Я преобразовал объект в массив, содержащий только значения.Затем создал новый массив, отфильтровывая нужные нам имена, вернул этот массив, отсортированный по алфавиту и в строковом формате.('\n') в операторе return просто ограничивает элементы массива новой строкой, так как это формат, который вы показали.Но это можно изменить на что угодно, если вам не нужно, чтобы имена были в отдельных строках.

Просто для пояснения, согласно документации , const может использоваться здесь:

Объявление const создает доступную только для чтения ссылку на значение.Это не означает, что значение, которое оно содержит, является неизменным, просто то, что идентификатор переменной не может быть переназначен.

0 голосов
/ 11 октября 2018

Да, вы можете манипулировать этими данными, посмотреть, как работает const в javascrips.https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const

const names = {
John: 'John',
Mike: 'Mike',
David: 'David',
Chris: 'Chris'
};

console.log(names.John);

names.John = 'noJohn';

console.log(names.John);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...