JavaScript中数据结构的遍历

在JavaScript中,数据结构是编程的基础。
它分为原始类型和引用类型。
原始类型包括Number、Boolean、String、undefined、null,而引用类型包括Object、Array、Function、Date等。
对象和数组之间的区别在于对象使用命名索引,而数组使用数字索引。
如果元素必须使用字符串(文本)作为名称,请使用对象;如果使用数字作为名称,请使用数组。
数组对象(伪数组)本质上是对象,但不具有真正的数组特征。
它们具有按索引存储数据的能力,并且具有length属性,但它们没有数组从Array.prototype继承的方法。
数组具有其他对象所没有的功能:当添加新元素时,长度属性会自动更新;将长度设置为较小的值将截断数组。
要标识一个数组,可以使用ES3的方法:instanceof操作符;ES5方法:Array.isArray();遍历数据结构的方法总结如下:2.1for循环这种方法适用于数组和伪数组,因为它们需要长度属性和索引。
支持break和continue方法跳出循环,但不支持return方法,否则会抛出异常。
2.2forEach()该方法对每个数组元素执行一次回调函数,不需要通过索引访问数组元素。
不支持Break和continue,如果使用会抛出异常。
不能从函数体返回,中间返回值未定义。
2.3map()该方法创建一个新数组,并对每个元素调用提供的函数后返回的结果放入新数组中。
不支持Break和continue,并且会抛出异常。
不能从函数体返回,中间返回值未定义。
回调函数中的操作不能直接赋值给原元素,否则可能会导致引用类型指针不变的问题。
2.4forin遍历该方法遍历对象的所有可枚举属性,包括自身和从原型继承的属性。
支持break和continue退出循环,但不支持return,否则会报异常。
2.5forof循环通过该方法创建循环来访问可迭代对象,例如String、Array、arguments、NodeList、TypedArray、Map、Set等。
支持Break和continue跳出循环,但不支持return跳出循环。
2.6Object.keys()该方法返回一个由给定对象自己的可枚举属性组成的数组。
如果需要获取对象的所有属性(包括不可枚举的属性),请使用Object.getOwnPropertyNames()。
2.7Object.values()该方法返回一个由给定对象本身的所有可枚举属性值组成的数组。
2.8Object.entries()该方法返回一个由给定对象自身可枚举属性的键值对组成的数组。
2.9Object.getOwnPropertyNames()该方法返回一个由指定对象自身所有属性的属性名组成的数组,包括不可枚举的属性,但不包括以符号值作为名称的属性。
这以上是JavaScript中数据结构遍历方法的总结。