TS语法补充

2024-02-19  本文已影响0人  家乡的蝈蝈

数组:

  在 TypeScript 中,处理包含对象元素的数组是一种常见的场景。当我们只知道对象中的某个值,希望从数组中取出整个对象时,可以使用 find 和 filter 这两个方法。

1.1、find 方法

  find 方法返回数组中第一个满足条件的元素,如果没有找到满足条件的元素,则返回 undefined

interface MyObject {
    id: number;
    name: string;
    // 其他属性
}

const myArray: MyObject[] = [
    { id: 1, name: 'Object1' },
    { id: 2, name: 'Object2' },
    { id: 3, name: 'Object3' },
];

const targetId = 2;
const foundObject = myArray.find(obj => obj.id === targetId);
console.log(foundObject); // 输出:{ id: 2, name: 'Object2' }

1.2、filter方法

  filter 方法返回一个数组,其中包含所有满足条件的元素。如果没有找到满足条件的元素,返回空数组 []。

interface MyObject {
    id: number;
    name: string;
    // 其他属性
}

const myArray: MyObject[] = [
    { id: 1, name: 'Object1' },
    { id: 2, name: 'Object2' },
    { id: 3, name: 'Object3' },
];

const targetId = 2;
const filteredArray = myArray.filter(obj => obj.id === targetId);
console.log(filteredArray); // 输出:[{ id: 2, name: 'Object2' }]

总结:

1.3、splice方法

1.4、findIndex

为数组中的每个元素都调用一次函数执行:

const users = [
    { name: 'John', age: 25 },
    { name: 'Jane', age: 28 },
    { name: 'Tom', age: 31 },
  ];
  const result = users.findIndex(user => user.age === 28);
  console.log(result); // Output: 1

1.5、reduce

array.reduce(function(prev, cur, currentIndex, arr), initialValue)
  reduce()方法为归并类方法,会遍历数组的每一项
第一个参数:每次遍历都会调用的函数

第二个参数:归并基础的初始值
总结:

1.6、 == 和===

1 == true    结果为true
1 === true   结果为false
1 == "1"     结果为true
1 ===  "1"   结果为false

1.7、短路运算符&& 和 ||

1.7.1、逻辑与 && 的运算方式

var a = 5 && 6;
console.log(a); //返回的结果为 6

  如果逻辑与运算符左边的值布尔转换后为true,那么返回右边的值(不管右边的值是真还是假)。

var a = false && 6;
console.log(a); //返回的结果为 false

  如果逻辑与运算符左边的值布尔转换后为false,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/NaN/undefined。

1.7.2、逻辑或 || 的运算方式

var a = false || 6;
console.log(a); //返回的结果为 6

  如果逻辑或运算符左边的值布尔转换后为false,那么返回右边的值(不管右边的值是真还是假)。

var a = true || 6;
console.log(a); //返回的结果为 true

  如果逻辑或运算符左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是是null(NaN/undefined),返回null(NaN/undefined)
  实际代码中常用于为变量配置默认值,当||符号左边为null或undefined时,将||符号右边的{}赋值给变量,以避免定义的变量为null或undefined:

// 当JSON.parse(AppStorage.Get<string>("user_cart")为null时,取默认[]
JSON.parse(AppStorage.Get<string>("user_cart") || '[]')
上一篇下一篇

猜你喜欢

热点阅读