基础数据结构

1.使用数组存储不同类型的数据 let yourArray=["one","two",1,2,true] 2.使用方括号(索引)访问数组的元素 let myArray = ["a", "b", "c", "d"]; myArray[1]="b to e" 3.使用 push()unshift() 为数组添加元素 push() 方法会将元素插入到数组的末尾,而 unshift() 方法会将元素插入到数组的开头。 4.使用 pop()shift() 从数组中删除元素 与插入元素相反,pop() 会从数组的末尾移除一个元素,而 shift() 会从数组的开头移除一个元素。 pop()shift()push()unshift() 的关键区别在于,用于删除元素的方法不接收参数,而且每次只能删除数组中的一个元素。 5.使用 splice() 删除元素 splice() 可以让我们从数组中的任意位置连续删除任意数量的元素。splice()最多可以接收三个参数,其中第一个参数指定从数组的第几个索引开始移除元素,第二个参数指定从当前位置开始删除多少个元素。 6.使用 splice() 添加元素 splice()的第三个参数可以是一个或多个元素,这些元素会被添加到数组中。 7.使用 slice() 复制数组元素 slice() 不会修改数组,而是会复制,或者说提取(extract)给定数量的元素到一个新数组。 slice() 只接收 2 个输入参数:第一个是开始提取元素的位置(索引),第二个是提取元素的结束位置(索引)。 提取的元素中不包括第二个参数所对应的元素。 8.使用展开运算符复制数组 展开语法写出来是这样:... eg: let thisArray = [true, true, undefined, false, null]; let thatArray = [...thisArray]; 9.使用展开运算符合并数组 eg: let thisArray = ['sage', 'rosemary', 'parsley', 'thyme']; let thatArray = ['basil', 'cilantro', ...thisArray, 'coriander']; 10.使用 indexOf() 检查元素是否存在 indexOf() 方法接受一个元素作为输入参数,并返回该元素在数组中的位置(索引);若该元素不存在于数组中则返回 -1。 11.使用 for 循环遍历数组中的全部元素 function greaterThanTen(arr) { let newArr = []; for (let i = 0; i < arr.length; i++) { if (arr[i] > 10) { newArr.push(arr[i]);}} return newArr;} greaterThanTen([2, 12, 8, 14, 80, 0, 1]); 12.创建复杂的多维数组 数组的一个强大的特性是,它可以包含其他数组,甚至完全由其他数组组成。 eg: let myNestedArray = ["one",["two",[3,"deep",[4,true,"deeper",[5,"deepest"]]]]]; 13.将键值对添加到对象中 对象(object)本质上是键值对(key-value pair)的集合。 或者说,一系列被映射到唯一标识符的数据就是对象;习惯上,唯一标识符叫做属性(property)或者键(key);数据叫做值(value)。 eg: tekkenCharacter.origin = 'South Korea'; tekkenCharacter['hair color'] = 'dyed orange'; 14.修改嵌套在对象中的对象 在对象中,我们也可以嵌套任意层数的对象,对象的属性值可以是 JavaScript 支持的任意类型,包括数组和其他对象。 eg: nestedObject.data.onlineStatus.busy = 10; 15.使用方括号访问属性名称 eg:let inventory = foods[selectedFood];。 16.使用 delete 关键字删除对象属性 delete foods.apples; 17.检查对象是否具有某个属性 JavaScript 为我们提供了两种不同的方式来实现这个功能: 一个是通过 hasOwnProperty() 方法,另一个是使用 in 关键字。 users.hasOwnProperty('Alan'); 'Alan' in users; 18.使用 for...in 语句遍历对象 for (let user in users) {console.log(user);} 19.使用 Object.keys() 生成由对象的所有属性组成的数组 return Object.keys(obj) 20.修改存储在对象中的数组 function addFriend(userObj, friend) { userObj.data.friends.push(friend); return userObj.data.friends;}