Object.keys()的使用方法

Object.keys()的用法:

1.遍历对象(必须包含属性和方法的对象);
2.返回对象中每一项key的数组(遍历一个对象,返回一个全是key的数组)

eg1:如果对象是一个对象,会返回对象的属性名组成的数组;

let obj = { 数据泄露: 5412, 数据传输: 3921, 数据篡改: 851392, 数据滥用: 59532 };
console.log(Object.keys(obj)); //['数据泄露', '数据传输', '数据篡改', '数据滥用']

eg2:如果对象是一个对象,则返回数据的键值;

let arr = ['数据泄露', '数据传输', '数据篡改', '数据滥用'];
console.log(Object.keys(arr)); //['0', '1', '2', '3']

eg3:使用Object.keys()还可以判断一个对象是否为空!

1.判断对象为空,方法一
var obj = {};
if (Object.keys(obj).length === 0) {
  console.log('空对象');
}

2.判断对象为空,方法二
var obj = {}; 
var b =(JSON.stringify(obj ) == "{}"); 
 console.log('b');//true

eg4:在什么时候使用???  一般我们后端返回一个含有键值对的对象不是我们需要的,我们要把他们键值对取出来重新组成数组来使用,或者是只需要用到他的键,不需要用到他的值,这时就可以用此方法。

let arrShowReq = [];
let obj = { 数据泄露: 5412, 数据传输: 3921, 数据篡改: 851392, 数据滥用: 59532 };
Object.keys(obj).map(key => {
  arrShowReq.push({
    title: key,
    count: obj[key],
  });
});
console.log(arrShowReq);
// [
   {title: '数据泄露', count: 5412},
   {title: '数据传输', count: 3921},
   {title: '数据篡改', count: 851392},
   {title: '数据滥用', count: 59532}
   ]
var obj1 = { name: 'a', list: { a: 'value1', b: 'value2' }, age: 13 };
Object.keys(obj1).forEach(function(key) {
  console.log(key, obj1[key]);
});
// name  a
// list  { a: 'value1', b: 'value2' }
// age   13

你可能感兴趣的:(前端,javascript,vue.js)