//es5数组新方法 在forEach filter里用return true 没用的会一直循环 但在some里return true只要满足条件了就中止循环
var nums = [1, 3, 14, 5, 2, 15, 11]
nums.forEach((value, index, arr) => { //参数数组元素值 元素索引 数组
console.log(index, value, arr)
})
var newNums = nums.filter((value, index, arr) => { //过滤返回满足条件的元素数组
return value > 4
})
console.log(newNums) //[14, 5, 15, 11]
newNums = nums.map((value, index, arr) => { //对数组进行相关操作返回新数组
return value * 2
})
console.log(newNums) //[2, 6, 28, 10, 4, 30, 22]
newNums = nums.some((value, index, arr) => { //查找 数组是否有满足条件的元素有则返回true否则返回false
return value > 14
})
console.log(newNums) //true
newNums = nums.every((value, index, arr) => { //查找 数组每个元素是否都满足条件有则返回true否则返回false false
return value > 14
})
console.log(newNums) //false
//String 方法 trim() startsWith() endsWith() charAt() indexOf() lastIndexOf() subString()
//Object 方法
var person = {
name: 'test',
age: 12,
addr: 'henan'
}
console.log(Object.keys(person)) //["name", "age", "addr"]
//对象添加新属性 及修改属性
//方法1
person.email = '3434534@qq.com'
person.name = "user"
console.log(person)//{name: "user", age: 12, addr: "henan", email: "3434534@qq.com"}
//方法2 没有相关属性就添加 有则修改
Object.defineProperty(person, 'qq', {
value: '14587445',
writable: false, //是否允许修改
enumerable: false, //是否允许属性遍历(显示)
configurable:false //是否允许删除
})
console.log(Object.keys(person))//["name", "age", "addr", "email"]
console.log(person)//{name: "user", age: 12, addr: "henan", email: "3434534@qq.com"}
delete person.name