ts 数组map方法
时间: 2023-08-05 18:02:27 浏览: 84
在 TypeScript 中,数组的 `map` 方法用于对数组中的每个元素执行指定的操作,并返回一个新的数组,该数组包含操作后的结果。 `map` 方法接收一个回调函数作为参数,该回调函数会被应用于数组中的每个元素。
下面是使用 `map` 方法的示例:
```typescript
let numbers: number[] = [1, 2, 3, 4, 5];
let squaredNumbers = numbers.map((num) => num * num);
console.log(squaredNumbers); // 输出 [1, 4, 9, 16, 25]
```
在上面的示例中,`map` 方法遍历了 `numbers` 数组中的每个元素,并将每个元素平方后返回一个新的数组 `squaredNumbers`。
你还可以在回调函数中执行更复杂的操作。例如,将字符串数组转换为大写形式:
```typescript
let fruits: string[] = ["apple", "banana", "cherry"];
let uppercasedFruits = fruits.map((fruit) => fruit.toUpperCase());
console.log(uppercasedFruits); // 输出 ["APPLE", "BANANA", "CHERRY"]
```
希望这可以帮助到你!如果有任何其他问题,请随时提问。
相关问题
使用ts 数组对象去重
使用 JavaScript 的 Set 对象可以很方便地去重数组对象。Set 对象具有去重功能,可以将数组对象转换为 Set 对象,再将 Set 对象转换回数组对象。代码如下:
```
let arr = [{id: 1}, {id: 2}, {id: 1}, {id: 3}];
let set = new Set(arr);
let newArr = Array.from(set);
```
其中,arr 是需要去重的数组对象,set 是去重后的 Set 对象,newArr 是去重后的数组对象。
注意:如果对象是对象的话这种方式不能去重,需要利用对象的某个属性进行去重。
```
let arr = [{id: 1,name:"a"}, {id: 2,name:"b"}, {id: 1,name:"c"}, {id: 3,name:"d"}];
let newArr = Array.from(new Set(arr.map(item => item.id))).map(id => {
return arr.find(item => item.id === id)
});
```
上面的代码就是通过 id 属性进行去重。
ts对象数组去重
可以使用Set和Array.from()方法来实现对ts对象数组的去重。
例如,假设有如下的ts对象数组:
```javascript
const tsArr = [
{ name: 'John', age: 25 },
{ name: 'Mary', age: 30 },
{ name: 'John', age: 25 },
{ name: 'Peter', age: 35 }
];
```
使用Set和Array.from()方法进行去重:
```javascript
const uniqueTsArr = Array.from(new Set(tsArr.map(JSON.stringify)), JSON.parse);
```
这段代码的作用是先将ts对象数组中的每个对象转换为JSON字符串,然后使用Set进行去重,最后使用Array.from()方法将结果转换回原来的ts对象数组格式。这种方法可以去除重复的ts对象,但是它会改变数组中对象的顺序。
如果想要保留原数组中的对象顺序,可以使用for循环和一个临时数组来实现去重:
```javascript
const tsArr = [
{ name: 'John', age: 25 },
{ name: 'Mary', age: 30 },
{ name: 'John', age: 25 },
{ name: 'Peter', age: 35 }
];
const uniqueTsArr = [];
const uniqueMap = new Map();
for (const tsObj of tsArr) {
const tsObjStr = JSON.stringify(tsObj);
if (!uniqueMap.has(tsObjStr)) {
uniqueMap.set(tsObjStr, true);
uniqueTsArr.push(tsObj);
}
}
```
这段代码的作用是使用Map来记录已经出现过的ts对象,如果没有出现过则将其放入结果数组uniqueTsArr中。这种方法可以保留原数组的对象顺序,并且可以去除重复的ts对象。