Obj数据处理

83 阅读1分钟
将对象转换成数组 已对象的key为数组的key val对应val

*js将对象obj={"按钮1":"[www.aaa.com","按钮2":"www.bbb.com","按钮3":"www.ccc.com]} 转成 数组arr=[{key:"按钮1",val:"[www.aaa.com"},{key:"按钮2",val:"www.bbb.com"},{key:"按钮3",val:"www.ccc.com]"}]*

var obj = { "按钮1": "www.aaa.com", "按钮2": "www.bbb.com", "按钮3": "www.ccc.com" }; var arr = Object.keys(obj).map(function(key) { return { key: key, val: obj[key] }; });
-   `reduce` 是一个数组方法,它接受一个函数作为参数。这个函数有两个参数:`acc` 和 `cur``acc` 是累加器,它是我们要返回的对象。`cur` 是当前遍历的元素。
将对象改为数组
遍历对象 const data = {  
5: 'KYC认证成功',  
1001: '充值成功',  
3001: '提现成功',  
3002: '提现失败'  
};  
将对象改为数组 以键名位id 键值为name
const array = Object.keys(data).map(key => ({ id: key, name: data[key] }));
const array = Object.keys(data).map(key => ({ id: Number(key), name: data[key] }));
过滤对象中不为空的项
const filteredFormData = obj => {
  let result = {};
  for (let key in obj) {
    if (obj[key] !== '') {
      result[key] = obj[key];
    }
  }
  return result;
};
想清空对象的每一项的值
cosnt clearForm=(obj)=> { for (let key in obj) { obj[key] = ''; } }
遍历对象
let obj = { a: 1, b: 2, c: 3 }; for (let prop in obj) { if (obj.hasOwnProperty(prop)) { console.log(`obj.${prop} = ${obj[prop]}`); } }
判断空对象 object.keys()
function isEmpty(obj) { for (let prop in obj) { if (obj.hasOwnProperty(prop)) { return false; } } return true; } console.log(isEmpty({})); // 输出:true console.log(isEmpty({ a: 1 })); // 输出:false

遍历对象改变对象值

const obj = {
  0: "total",
  1: "Turbo Games",
  2: "Futures",
  3: "Lottery Games",
  4: "Live Casino",
  5: "Slot",
};


const convertObj = (object) => {
  const res = {};
  for (const key in object) {
    if (Object.hasOwnProperty.call(object, key)) {
      const value = object[key];
      res[value] = false;
    }
  }
  return res;
};


const result = convertObj(obj);
console.log(result);

数组转对象

 let obj = keyValues.reduce((accumulator: any, currentValue: any, currentIndex: any) => {
    accumulator[currentIndex] = currentValue;
    return accumulator;
  }, {});

判断对象中的空值

const ObjReserve = obj => {
  const decimalCheck = /^-?\d*(\.\d{1,2})?$/;
  return Object.values(obj).some(value => value == null || value === '' || value < 0 || value > 2 || !decimalCheck.test(value));
};

删除对象中的空对象

for (let key in obj) { if (obj[key] === "" || obj[key] === null || obj[key] === undefined) { delete obj[key]; } }