Object方法

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

待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值