数组和对象方法的笔记
数组
创建数组
创建一个数组可以用以下两种方式:
- 直接使用方括号
[]可以创建一个空数组。
var arr1 = []; // 创建一个空数组
- 使用方括号
[]并在其中添加元素,可以创建一个包含元素的数组
var arr2 = [1, 2, 3]; // 创建一个包含三个元素的数组
遍历数组
遍历数组可以使用以下几种方式:
- 使用
for循环遍历数组
var arr = [1, 2, 3];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
- 使用
forEach()方法遍历数组
var arr = [1, 2, 3];
arr.forEach(function(item) {
console.log(item);
})
3.使用 for...of 循环遍历数组
var arr = [1, 2, 3];
for (var item of arr) {
console.log(item);
}
追加元素
向数组末尾追加一个元素可以使用 push() 方法,向数组开头追加一个元素可以使用 unshift() 方法。
var arr = [1, 2, 3];
arr.push(6); // 向数组末尾追加一个元素
arr.unshift(9); // 向数组开头追加一个元素
console.log(arr); // [9, 1, 2, 3, 6]
删除元素
从数组末尾删除一个元素可以使用 pop() 方法,从数组开头删除一个元素可以使用 shift() 方法。
var arr = [1, 2, 3];
arr.pop(); // 删除数组末尾的一个元素
arr.shift(); // 删除数组开头的一个元素
console.log(arr); // [2]
查找元素
查找数组中某个元素可以使用 indexOf() 或 includes() 方法。
var arr = [1, 2, 3];
console.log(arr.indexOf(2)); // 1
console.log(arr.includes(4)); // false
对象
创建对象
1.使用花括号 {} 可以创建一个空对象
var obj1 = {}; // 创建一个空对象
2.使用花括号 {} 并在其中添加属性,可以创建一个包含属性的对象
var obj2 = { name: '张三', age: 18 }; // 创建一个包含两个属性的对象
遍历对象
遍历对象可以使用以下几种方式:
1.使用 for...in 循环遍历对象属性。
var obj = { name: '张三', age: 18 };
for (var key in obj) {
console.log(key + ': ' + obj[key]);
}
for(var key in obj ){
console.log(key +':'+obj[key])
}
- 使用
Object.keys()方法获取对象属性键的数组,再使用forEach()方法遍历属性。
var obj = { name: '张三', age: 18 };
Object.keys(obj).forEach(function(key) {
console.log(key + ': ' + obj[key]);
});
添加属性
向对象添加属性可以使用以下几种方式:
- 直接使用点号
.或方括号[]添加属性。
var obj = {};
obj.name = '张三'; // 使用点号添加属性
obj['age'] = 18; // 使用方括号添加属性
console.log(obj); // { name: '张三', age: 18 }
- 使用
Object.defineProperty()方法添加属性。
var obj = {};
Object.defineProperty(obj, 'name', {
value: '张三',
writable: true,
enumerable: true,
configurable: true
});
console.log(obj); // { name: '张三' }
删除属性
从对象中删除属性可以使用 delete 关键字或 Object.defineProperty() 方法。
var obj = { name: '张三', age: 18 };
delete obj.age; // 使用 delete 关键字删除属性
console.log(obj); // { name: '张三' }
var obj = { name: '张三', age: 18 };
Object.defineProperty(obj, 'age', { value: undefined }); // 使用 Object.defineProperty() 方法删除属性
console.log(obj); // { name: '张三' }
查找属性
查找对象中某个属性可以使用 in 关键字或 Object.hasOwnProperty() 方法。
var obj = { name: '张三', age: 18 };
console.log('name' in obj); // true
console.log(obj.hasOwnProperty('age')); // true
console.log('gender' in obj); // false
console.log(obj.hasOwnProperty('gender')); // false