ES6
中的新增方法迭代(遍历)方法: forEach()
、map()
、filter()
、some()
、every()
forEach()
array.forEach(function(currentValue, index, arr))
currentValue
:数组当前项的值index
:数组当前项的索引arr
:数组对象本身示例:
var arr = [1,2,3];
var sum;
arr.forEach(function(value, index, array){
console.log('每个数组元素:' + value);
console.log('每个数组元素的索引号:' + index);
console.log('数组本身:' + array);
sum += value;
});
console.log(sum); // 6
filter()
array.filter(function(currentValue, index, arr))
filter()
方法创建一个新的数组,新数组中的元素是通过检查指定数组中注意它直接返回一个新数组
currentValue
: 数组当前项的值index
:数组当前项的索引arr
:数组对象本身示例:
var arr = [1, 2, 3, 4];
var newArr = arr.filter(function(value, index, array){
return value % 2 === 0;
});
console.log(newArr); // [2,4]
some()
array.some(function(currentValue, index, arr))
some()
方法用于检测数组中的元素是否满足指定条件. 通俗点 查找数组中是否有满足条件的元素注意它返回值是布尔值
, 如果查找到这个元素, 就返回true
, 如果查找不到就返回false
.currentValue
: 数组当前项的值index
:数组当前项的索引arr
:数组对象本身示例:
var arr = [1, 2, 3, 4];
var flag = arr.some(function(value, index, array){
return value > 4;
});
console.log(flag); // false
trim()
trim() 方法会从一个字符串的两端删除空白字符。
trim() 方法并不影响原字符串本身,它返回的是一个新的字符串。
var str = ' hello ';
var str1 = str.trim();
console.log(str1); //hello
Object.keys()
用于获取对象自身所有的属性
Object.keys(obj)
示例:
var obj = {
id: 1,
pname: '小米',
price: 1999,
num: 2000
};
var arr = Object.keys(obj);
console.log(arr);
arr.forEach(function(value) {
console.log(value); // id pname price num
})
Object.defineProperty()
定义对象中新属性或修改原有的属性
Object.defineProperty(obj, prop, descriptor)
obj
:必需。目标对象prop
:必需。需定义或修改的属性的名字descriptor
:必需。目标属性所拥有的特性Object.defineProperty()
定义新属性或修改原有的属性
Object.defineProperty(obj, prop, descriptor)
Object.defineProperty()
第三个参数 descriptor
说明: 以对象形式 { } 书写
value
: 设置属性的值 默认为undefined
writable
: 值是否可以重写。true
| false
默认为false
enumerable
: 目标属性是否可以被枚举。true
| false
默认为 false
configurable
: 目标属性是否可以被删除或是否可以再次修改特性 true
| false 默认为false
示例:
// Object.defineProperty() 定义新属性或修改原有的属性
var obj = {
id: 1,
pname: '小米',
price: 1999
};
Object.defineProperty(obj, 'num', {
value: 1000,
enumerable: true
});
console.log(obj);
Object.defineProperty(obj, 'price', {
value: 9.9
});
console.log(obj);
Object.defineProperty(obj, 'id', {
// 如果值为false 不允许修改这个属性值 默认值也是false
writable: false,
});