- 对象的一些方法
hasOwnProperty是用来判断对象有没有某种属性
let obj = { name: 'John', age: 30 };
obj.OwnProperty('John') //truehasOwnProperty('name')
返回true
,因为name
是obj
对象的直接属性。
Object.keys()
方法用于获取一个对象中所有可枚举属性的数组。这个方法返回的数组包含了对象中所有的字符串
let obj = { a: 1, b: 2, c: 3 };
Object.keys(obj) ["a","b","c"]
遍历对象属性: 你可以配合forEach
或其他循环结构来遍历对象的属性
object.keys(obj).forEach(key=>console.log(`属性 "${key}" 的值是:`, obj[key]))
对象的每一项乘以2
let mappedValues = Object.keys(obj).map(key=>obj[key]*2)
let filteredKeys = Object.keys(obj).filter(key => key.startsWith('b'));
合并对象
let obj1 = { a: 1, b: 2 };
let obj2 = { b: 3, c: 4 };
let combined = Object.assign({},..obj1,..obj2) // { a: 1, b: 2,}
情况1 let combined=Object.assign({},...Object.keys(obj1).forEach([key]=>key:obj1[key]),Object.keys(obj2).forEach([key]=>key:obj2[key]))
检查对象是否包含特定属性: 你可以检查一个属性是否存在于对象中:
Object.keys(obj1).includes( 'myProperty' ){// 'myProperty' 属性存在}
数组几个方法的区别
1.forEach 遍历数组, 非破坏性的遍历,不能用break
或continue
跳出循环,不返回值
,如更新状态、打印信息或调用其他函数。
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((num, index) => console.log(`Value at index ${index}: ${num}`));
2.map 遍历数组,返回新的数组
const numbers = [1, 2, 3, 4, 5];
let mappedArr = numbers .map(item => item * item );
console.log(squaredNumbers); // 输出:[1, 4, 9, 16, 25]
3.filter
用途:根据提供的测试函数筛选数组元素,返回一个包含符合条件的新数组。
filter
返回一个新数组,原数组未被改变。const numbers = [1, 2, 3, 4, 5]; const evenNumbers = numbers.filter(num => num % 2 === 0); console.log(evenNumbers); // 输出:[2, 4]