基础数据结构
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;}