要优雅的话,使用 Lodash 的 omit 方法移除不要的属性:
const object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };
const result = _.omit(object, [‘a’, ‘c’]);
// => { ‘b’: ‘2’ }
或者用 pick 方法只留下需要的属性:
const object = { ‘a’: 1, ‘b’: ‘2’, ‘c’: 3 };
const result = _.pick(object, [‘a’, ‘c’]);
// => { ‘a’: 1, ‘c’: 3 }
当然如果你不想用库或者喜欢动手的话,自己实现一个 omit 也是可以的,实现方法有很多:
// 中规中矩式
const omit = (obj, uselessKeys) =>
Object.keys(obj).reduce((acc, key) =>
return uselessKeys.includes(key) ?
acc :
{…acc, [key]: acc[key]}
}, {});
// 投机取巧式
const omit = (obj, uselessKeys) =>
uselessKeys.reduce((acc, key) => {
return {…acc, [key]: undefined}
}, obj)
// 粗暴式
const omit = (obj, uselessKeys) => {
uselessKeys.forEach(key => {
delete obj[key]
})
return obj
}
最后是特别粗暴的方法:
delete obj.created_at
delete obj.deleted_at
delete obj.updated_at
var a = { id: 18, age: 20, name: "zhagnsna", config: { sex: "nan" } };
const filterarr = ["id", "name"];
// 这里a是
对象
,里边是键值对,需要通过
对象
名[
属性
名] 找到其对应的值,
属性
名可以理解为特殊的下标
for (key in a) {
filterarr.find((item) => {
if (key === item) {
delete a[item];
1、准备
对象
数组
let cities = [
{ id: 1, chineseName: '合肥', englishName: 'Hefei', area: '11445.1 km²', population: '818.9 万'},
{ id: 2, chineseName: '南京', englishName: 'Nanjing', area: '6587.02 km²'},
2、添加
属性
let findCity = cities.find(city => city.i
不可偏废的 TS 类型
TypeScript 的 never 类型被讨论得非常少,因为它不像其他类型那样常用,或者不可替代。对于 TypeScript 的初学者来说,never 类型很容易被忽略,因为它只会出现在处理高级类型(比如条件类型)时,或者阅读那些神秘兮兮的类型错误信息时。
实际上 never 类型在 TypeScript
中
的优秀用例比想象
中
要多。当然,它也有一些特有的你需要小心的陷阱。
本文的主要内容包含以下几个部分:
never 类型的意义和我们需要它的原因。
never 的应用场景以及需
文章目录1. Typescript 里定义 type 哪些定义方式2. 基础方法keyof 关键字ConditionPick 内置方法3. type 类型进行
属性
过滤1. 把可选
属性
变成必选
属性
2. 把所有可选的
属性
过滤掉3. 把所有
指定
属性
类型过滤掉4. 把所有
指定
属性
过滤掉参考
author: jwensh
date: 2022.02.16
1. Typescript 里定义 type 哪些定义方式
Primitive Type
Tuple Type
Union Type
Intersection
require引入图片,出现了Cannot find name 'require'. Do you need to install type definitions for node
前端umi2.x项目start的时候报cannot find module ‘@babel/helper-validator-identifier‘,并且npm run tsc会有很多报错
Xcode build to 真机报错:Verify the value of the CODE_SIGN_ENTITLEMENTS build setting for target “owner“