js中常用方法
1. Object.fromEntries()
方法把键值对列表转换为一个对象
var arr = [['name', 'name'], ['type', 'type'], ['description', 'description'], ['createTime', 'createTime'], ['updateTime', 'updateTime']] Object.fromEntries(arr) //{name: 'name', type: 'type', description: 'description', createTime: 'createTime', updateTime: 'updateTime'}
2. Object.entries() 给定对象自身可枚举属性的键值对数组
var object1 = { a: 'somestring', b: 42 }; Object.entries(object1) // [['a', 'somestring'], ['b', 42]]
3. JSON.stringify() 将一个 JavaScript 对象或值转换为 JSON 字符串
JSON.stringify(value[, replacer [, space]])
value
将要序列化成 一个 JSON 字符串的值
replacer
可选 如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;如果该参数为 null 或者未提供,则对象所有的属性都会被序列化。
space
可选 指定缩进用的空白字符串,用于美化输出;如果参数是个数字,它代表有多少的空格;上限为10。该值若小于1,则意味着没有空格;如果该参数为字符串(当字符串长度超过10个字母,取其前10个字母),该字符串将被作为空格;如果该参数没有提供(或者为 null),将没有空格。
const arr = [{ name: 'ceshi', id: 1 }, { name: 'ceshi2', id: 2 }] const obj = { name: 'ceshi', id: 1 } JSON.stringify(arr) // [{"name":"ceshi","id":1},{"name":"ceshi2","id":2}] JSON.stringify(obj) // {"name":"ceshi","id":1} JSON.stringify(arr, null, 2) // [ // { // "name": "ceshi", // "id": 1 // }, // { // "name": "ceshi2", // "id": 2 // } // ] JSON.stringify(obj, null, 2) // { // "name": "ceshi", // "id": 1 // } JSON.stringify(obj, null, '*') // { // *"name": "ceshi", // *"id": 1 // } const replaceObj = JSON.stringify(obj, (k, v) => { if (typeof v === 'string') { return 12 } return v }) // replaceObj--->{"name":12,"id":1}
4. JSON.parse() 用来解析JSON字符串,构造由字符串描述的JavaScript值或对象
JSON.parse(text[, reviver])
text
要被解析成 JavaScript 值的字符串
reviver
可选转换器, 如果传入该参数(函数),可以用来修改解析生成的原始值,调用时机在 parse 函数返回之前。
const str = '[{ "name": "ceshi", "id": 1 }, { "name": "ceshi2", "id": 2 }]' JSON.parse(str) // [{ 'name': 'ceshi', 'id': 1 }, { 'name': 'ceshi2', 'id': 2 }] const newStr = JSON.parse(str, (k, v) => { if (k === 'id') { return v * 2 } return v }) // newStr===>[{ 'name': 'ceshi', 'id': 2 }, { 'name': 'ceshi2', 'id': 4 }]
5.
lodashjs
1. _.compact(array) 去掉假值
创建一个新数组,包含原数组中所有的非假值元素。例如false
, null
,0
, ""
, undefined
, 和 NaN
都是被认为是“假值”。
_.compact([0, 1, false, 2, '', 3, null]);
// [1, 2, 3]
2.