Object 对象
crush 压碎
- 基础用法
将深层对象压平为单一维度,深层次将在对象中转换为浮点号表示法
js
const testobj1 = () => {
const testobjall = {
name: "ra",
power: 100,
friend: {
name: "loki",
power: 80,
children: [
{
name: "孙子",
age: 30,
},
],
},
enemies: [
{
name: "hathor",
power: 12,
},
],
};
console.log(_.crush(testobjall));
/*
{
"name": "ra",
"power": 100,
"friend.name": "loki",
"friend.power": 80,
"friend.children.0.name": "孙子",
"friend.children.0.age": 30,
"enemies.0.name": "hathor",
"enemies.0.power": 12
}
*/
};
get 获取
- 基础用法
获取对象中的值,如果不存在则返回默认值
js
const testobj2 = () => {
const fish = {
name: "Bass",
weight: 8,
sizes: [
{
maturity: "adult",
range: [7, 18],
unit: "inches",
},
],
};
console.log(_.get(fish, "sizes[0].maturity")); // "adult"
console.log(_.get(fish, "sizes[0].range[1]")); // 18
console.log(_.get(fish, "sizes.0.range.1")); // 18
console.log(_.get(fish, "foo", "初始值")); // ''
};
reverse
键值反转
js
/* 反转 */
const testobj3 = () => {
const powersByGod = {
ra: "sun",
loki: "tricks",
zeus: "lighning",
};
console.log(_.invert(powersByGod));
/*
{
"sun": "ra",
"tricks": "loki",
"lighning": "zeus"
}
*/
};
keys
获取深层次的键
无论多少层 获取键
js
const getAllKeys = () => {
const ra = {
name: "ra",
power: 100,
friend: {
name: "loki",
power: 80,
children: [
{
test: "深层次的建委",
},
],
},
enemies: [
{
name: "hathor",
power: 12,
},
],
};
console.log(_.keys(ra));
};
// 结果
/*
[
"name",
"power",
"friend.name",
"friend.power",
"friend.children.0.test",
"enemies.0.name",
"enemies.0.power"
]
*/
upperize
对象属性大写
js
const testobj4 = () => {
const ra = {
Mode: "god",
Power: "sun",
};
console.log(_.lowerize(ra));
};
/* 结果
{
"MODE": "god",
"POWER": "sun"
}
*/
lowerize
对象属性小写化
js
const testobj4 = () => {
const ra = {
Mode: "god",
Power: "sun",
};
console.log(_.lowerize(ra));
};
/*
{
"mode": "god",
"power": "sun"
}
*/
omit
忽略掉不要的属性
js
/* 省略 不要的属性 */
const testobj5 = () => {
const fish = {
name: "Bass",
weight: 8,
source: "lake",
brackish: false,
};
console.log(_.omit(fish, ["name", "source"]));
};
/* 结果
{
"weight": 8,
"brackish": false
}
*/
pick
只保留需要的属性
js
/* 只保留需要的属性 */
const testobj6 = () => {
const fish = {
name: "Bass",
weight: 8,
source: "lake",
brackish: false,
};
console.log(_.pick(fish, ["name", "source"]));
};
/* 结果
{
"name": "Bass",
"source": "lake"
}
*/
set
设置对象中的值
js
const testobj7 = () => {
const fish = {
name: "Bass",
weight: 8,
source: "lake",
brackish: false,
};
const result = _.set(fish, "ceshi", "测试");
const result2 = _.set(fish, "ceshi.children.0.name", "测试孩子行不行");
console.log(result); // 新创建的
console.log(result2);
};
/* 结果
{
"name": "Bass",
"weight": 8,
"source": "lake",
"brackish": false,
"ceshi": "测试"
}
*/
/* result2 结果
{
"name": "Bass",
"weight": 8,
"source": "lake",
"brackish": false,
"ceshi": {
"children": [
{
"name": "测试孩子行不行"
}
]
}
}
*/