一、数组方法
1、forEach()方法,遍历数组元素
用法:array.forEach(function(currentValue,index,arr))
- currentValue:数组当前项的值
- index:数组当前项的索引
- arr:数组对象本身
var arr = [1, 2, 3, 4];
var sum = 0;
arr.forEach(function(value, index, array) {
// console.log(`${index}: ${value}`);
// console.log(`数组本身: ${array}`);
sum += value;
})
console.log(sum); //10
2、filter()方法,返回满足条件的元素
用法:array.filter(function(currentValue, index, arr))
- filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,主要用于筛选数组
- 注意它直接返回一个新数组
- currentValue: 数组当前项的值
- index:数组当前项的索引
- arr:数组对象本身
// filter过滤器 筛选数组元素
var arr = [12, 35, 245, 22, 43];
var newArr = arr.filter(function(value, index, array) {
return value >= 20;
})
console.log(newArr); // [35, 245, 22, 43]
3、some()方法,检查数组中是否存在满足条件的元素,返回值为布尔值
用法:array.some(function(currentValue, index, arr))
- some() 方法用于检测数组中的元素是否满足指定条件. 通俗点 查找数组中是否有满足条件的元素
- 注意它返回值是布尔值, 如果查找到这个元素, 就返回true , 如果查找不到就返回false.
- 如果找到第一个满足条件的元素,则终止循环. 不在继续查找.
- currentValue: 数组当前项的值
- index:数组当前项的索引
- arr:数组对象本身
// some查找是否存在满足条件的元素,返回布尔值
var arr = [10, 30, 4];
var flag = arr.some(function(value, index, array) {
return value >= 20;
})
console.log(flag); // true
二、字符串方法
1、trim方法,去取字符串左右两端的字符,默认为空格
用法:str.trim()
- trim() 方法并不影响原字符串本身,它返回的是一个新的字符串。
var str = " 234567 dfgh ";
console.log(str);
console.log(str.trim());
三、对象方法
1、defineProperty()方法,定义对象的新属性或修改原有的属性
用法:Object.defineProperty(obj, prop, descriptor)
- obj:必需。目标对象
- prop:必需。需定义或修改的属性的名字
- descriptor:必需。目标属性所拥有的特性
Object.defineProperty() 第三个参数 descriptor 说明: 以对象形式 { } 书写
- value: 设置属性的值 默认为undefined
- writable: 值是否可以重写。true | false 默认为false
- enumerable: 目标属性是否可以被枚举。true | false 默认为 false
- configurable: 目标属性是否可以被删除或是否可以再次修改特性 true | false 默认为false
var obj = {
id: 1,
pname: '小米',
price: 1999
}
// 对象增删方式(old)
// obj.num = 1000;
// obj.price = 100;
// console.log(obj);
// Object.defineProperty(obj, prop, descriptor);
Object.defineProperty(obj, 'num', {
value: 1000,
});
Object.defineProperty(obj, 'price', {
value: 9.9
});
Object.defineProperty(obj, 'id', {
writable: false // 是否允许被修改
});
// Object.defineProperty(obj, 'address', {
// value: "中国山东",
// enumerable: false //是否允许被遍历
// });
Object.defineProperty(obj, 'address', {
// writable: false // 是否允许被修改
value: "zhongguo",
enumerable: false,
configurable: false // 是否允许被删除,默认为FALSE,不允许被删除
});
obj.id = 2;
console.log(obj);
console.log(Object.keys(obj));
delete obj.address;
delete obj.pname;
console.log(obj);