Object.assign()
语法:Object.assign(target,…sources)
- target:目标对象
- …sources:源对象
- 返回值:目标对象
- 目标对象会发生改变
//assgin典型用法
console.log(this.$route.query.state,this)
Object.assign(this,this.$route.query)
console.log(this.state)
let a = {name:'a'}
let b = {age:'b'}
let c = Object.assign(a,b)
console.log(a,b,c)// {name: "a", age: "b"} {age: "b"} {name: "a", age: "b"}
如果目标对象与源对象有同名属性,则后面的属性会覆盖前面的属性
let a1 = { name: 'a1', age: "a2" };
let b1 = { age: 'b1' };
let c1 = Object.assign(a1,b1);
console.log(a1,b1,c1); //{a: "a1", b: "b1"} {b: "b1"} {a: "a1", b: "b1"}
let a2 = { name: { age: 'age', color: 'color' },b:'b' }
let b2 = { name: { age: 'age1' } }
let c2 = Object.assign(a2,b2);
console.log(a2,b2,c2) // {name: {age: "age1"},b:'b'} name: {age: "age1"} {name: {age: "age1"},b:'b'}
如果参数不是一个对象,会转为对象在返回
console.log(Object.assign(2)) //{2}
let a3 = [{name:'name1'}]
let b3 = {name:'name2'}
a3.push(b3)
console.log(a3) // [{name:'name1'},{name:'name2'}]
修改key
let arr = []
let data = [{name:'name1',count:1},{name:'name2',count:2}]
data.forEach(item=>{
arr.push(
Object.assign({
Name:item.name,
Count:item.count,
})
)
})
console.log(arr)
Object.keys(obj) 传入一个对象,返回对象可枚举的属性
let obj = {
name: 'lisa',
age: 12,
say: function() {
alert("Hello World");
}
}
console.log(Object.keys(obj)); // ['name','age','say']
Object.entries(Object)
const obj1 = { name: "lisa", age: 12, color: "red" };
console.log(Object.entries(obj1)); //[["name", "lisa"],["age", 12],["color", "red"]]
for (let val of arr)
for (let val of ["one", "two"]){ console.log(val) } // one two
let arr = [['one',22,7],['two',44,8]]
for(let [val1,val2,val3] of arr){ console.log(val1,val2,val3) } //one 22 7 //two 44 8
for (const k in {})
let obj = { one:'1' , two:'2'}
for (const key in obj) {
console.log(key)
console.log(obj[key])
}
console.log(Object.keys(obj))
console.log(Object.values(obj))
for (const k in this.ruleForm) this.ruleForm[k] = ''
for (const k in this.ruleForm) k in row && (this.ruleForm[k] = row[k])
key in {}
let obj = { one:'1' , two:'2'}
console.log("one" in obj) // true
待续。。。