簡體   English   中英

選擇某些值並在ES6中按字母順序排序

[英]Select certain values and sort alphabetically in ES6

如何選擇某些值並使用ES6按字母順序對它們進行排序。 當前代碼定義一個常數。 我想知道是否可以在不必僅使用所需值創建新常量的情況下操縱這些數據。

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

僅返回克里斯和大衛。

克里斯

大衛

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

不是最優雅的,但可以。 從數組而不是對象開始會更容易。 由於鍵和值相同,因此似乎不需要該對象。 盡管如此,這對於數組來說是一項非常簡單的任務。 我將obj轉換為僅包含值的數組。 然后創建一個新的數組,過濾掉我們想要的名稱,並以字母格式和字符串格式返回該數組。 return語句中的('\\n')只是用新行分隔數組的元素,因為這是您顯示的格式。 但是,如果您不需要將名稱放在單獨的行中,則可以將其更改為任何內容。

只是為了澄清一下,根據文檔 ,const 可以在這里使用:

const聲明創建對值的只讀引用。 這並不意味着它擁有的值是不可變的,只是不能重新分配變量標識符。

是的,您可以操縱這些數據,看看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); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM