
102
|
第
4
章
内部构造
当程序中出现大量中间状态和来回改变数据形态的逻辑时,说明你选择的
数据表达可能不太合适。如果找到了合适的数据结构,你就会发现要使输
入变成想要的输出,其所需的转换、映射与循环都不会很多。下一节我们
将深入介绍数据结构。
4.4
数据结构为王
数据结构既可以成就一个应用也可以毁灭一个应用,因为围绕数据结构所
做出的设计决策决定了这些结构会如何被访问。考虑下面的代码片段,它
提供了一个博客文章的列表 :
[{
slug: 'understanding-javascript-async-await',
title: 'Understanding JavaScript's async await',
contents: '...'
}, {
slug: 'pattern-matching-in-ecmascript',
title: 'Pattern Matching in ECMAScript',
contents: '...'
}, ...]
当需要对列表排序或将其中的对象映射为其他表达方式(如
HTML
)时,
采用基于数组的列表就非常合适。不过,如果要寻找不同的元素以便使用、
更新或删除,这种列表就不合适了。数组也让保持元素唯一性变得更加困
难,比如我们希望确保
slug
字段在所有博客文章中是唯一的。在这些情况
下,可以选择基于对象
Map
的方法,如下所示 :
{
'understanding-javascript-async-await': {
slug: 'understanding-javascript-async-await', ...