let persons = [
    { id: 1, name: '张三', age: 20 },
    { id: 2, name: '李四', age: 18 },
    { id: 3, name: '王五', age: 16 },
    { id: 4, name: '赵六', age: 40 },
    { id: 5, name: '王二小', age: 35 },
    { id: 6, name: '张小嘎', age: 25 }
// 示例一:获取年龄大于20的数据
let filterPersons = persons.filter(person => person.age > 20);
console.log('-----------------------示例一---------------------');
console.log(filterPersons);
// 示例二:获取名字为张小嘎的数据
let filterPersons2 = persons.filter(person => person.name === '张小嘎');
console.log('-----------------------示例二---------------------');
console.log(filterPersons2);

2、输出结果

-----------------------示例一---------------------
  { id: 4, name: '赵六', age: 40 },
  { id: 5, name: '王二小', age: 35 },
  { id: 6, name: '张小嘎', age: 25 }
-----------------------示例二---------------------
[ { id: 6, name: '张小嘎', age: 25 } ]
                                    对比一下TypeScript和JavaScript中的数据类型(基本数据类型和引用数据类型)
一、先分别看一下ES5的基本数据类型和ES6新增基本数据类型
ES5的基本数据类型:
String
Number
Boolean
Undefined
ES6新增基本数据类型:
Symbol
BigInit
所以目前JavaScript的基本数据类型有7个
String
Number
Boolean
Undefined
Symbol
BigInit  —- 任意精度整数
JavaScript的引用数据类型有:
object
Array
function
其实 Array、f
                                    TypeScript对象访问助手
 帮助解决类型安全,深度对象访问(或部分访问)的问题,这种问题在最近的TypeScript版本中成为可能。
 在lodash.get使用lodash.get (快速,经过战斗测试,可靠)
 尽可能增加类型安全性
TypeScript 4.1+(大量使用模板文字类型)
DotNotationKeys<T>
 取得具有一组已知键的对象,然后递归返回该已知类型的所有可能的点表示法访问器。
 type Model = {
  id : string ;
  child : {
    id : string ;
    children : {
      id : string ;
      name : string ;
    } [ ] ;
type DotNotation
支持文本,超链接和图像
这个怎么运作
长期以来,Kibana需要一种在发现选项卡中显示对象阵列的好方法。 从Kibana得到的是数据的json字符串表示形式和一个警告图标,指出“数组对象不被很好地支持”。 这样做的原因是,Elasticsearch不在乎或在索引映射中存储您的字段是对象数组。 索引映射是数据的扁平视图。
 查看“索引模式”选项卡上的字段列表也可以看出这一点。 您将找到该对象所有具体值的条目,但找不到包含该对象的条目。 该插件使您可以在字段列表中创建综合条目。 一旦要显示的路径条目在列
                                    https://www.karltarvas.com/2021/03/11/typescript-array-filter-boolean.html对于 Array.filter(Boolean) 这种过滤数组的方法,Typescript 却并没有天然地支持它。《a lot of history to this issue》(https://github.com/microsoft/TypeScr...
const clearObj = (params: any, mode: 'easy' | 'filter' | 'middle' = 'easy', filterList: [] = [],): any => {
  if (ty
                                    文章目录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
最近在写一个自动化生成/绑定/更新脚本的插件,有一个功能,我需要找出预制体/场景以及对应脚本中已有的属性,并且对属性进行对比,找出已经删除的属性和要添加属性。
本来想着双层数组遍历,分别找出删除的和要添加的属性
let omitProps = [];
let deletedProps = [];
for (let i = 0; i < arrTsProps.length; i++) {
    let element = arrTsProps[i];
    if (arrPrefab