国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

TypeScript數(shù)組和對象的操作

這篇具有很好參考價值的文章主要介紹了TypeScript數(shù)組和對象的操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

ts文件運(yùn)行環(huán)境

  1. 安裝 TypeScript
npm install -g typescript
  1. 安裝 ts-node
npm install -g ts-node
  1. 運(yùn)行ts文件,cmd下
ts-node demo.ts

一、數(shù)組的聲明

let arr1: Array<number>;
let arr2: number[];

二、數(shù)組初始化

let arr1: Array<number> = new Array<number>();
let arr2: number[] = [1,2,3];

三、數(shù)組元素賦值、添加、更改

// 基本變量不需要聲明后可以不需要初始化;
let a:number;
a = 1;
console.log(a); // 1

let b: string;
b = "string";
console.log(b); // string

// 數(shù)組和對象使用之前必須要初始化;
let arr1: Array<number>;
// arr1[0] = 100; // Variable 'arr1' is used before being assigned.
//arr1.push(100);  // 就算使用push來添加也不行
//console.log(arr1)

let arr2: Array<number> = new Array<number>();
arr2[0] = 1;  // 賦值和修改格式一樣
arr2.push(2);	// 最后面增加,可以多個值
arr2.unshift(3) // 最前面增加,可以多個值
console.log(arr2)  // [3, 1, 2, 3] 

四、刪除

let arr: Array<number> = [1,2,3,4,5]
arr.pop();
console.log(arr);   // [1, 2, 3, 4] 

arr.shift();
console.log(arr);   // [2, 3, 4] 

arr.splice(0,2);     // 刪除元素(index, deleteCount)
console.log(arr);    // [4] 

五、合并、斷開數(shù)組

let arr: Array<number> = [1,2,3]
let arr2: Array<number> = [4,5,6]
let arrValue = 7

arr = arr.concat(arr2)

console.log(arr) //[1, 2, 3, 4, 5, 6] 

arr = arr.concat(arrValue)

console.log(arr) //[1, 2, 3, 4, 5, 6, 7] 

let newArray = arr.slice(1, 3)
console.log(newArray)  // [2,3]

六、查找數(shù)組元素

let arr: Array<string> = ["a", "b", "c", "d"]

let index = arr.indexOf("c") //返回查找到的第一個元素所在位置
console.log(index) // 2

index = arr.lastIndexOf("d") //返回反序查找的第一個元素所在位置
console.log(index) // 3

// 對象
let persons = [
    { id: 1, name: '張三', age: 23 },
    { id: 2, name: '李四', age: 11 },
    { id: 3, name: '王五', age: 16 }
];


// persons.forEach((value, index, array) => {
//     console.log(value, index)
// })

// find() 方法返回相應(yīng)的對象, 從未返回真值,則 find() 方法返回 undefined
const person = persons.find(obj => {
    return obj.id === 2;
})

console.log(person); // {  "id": 2,  "name": "李四",  "age": 11} 


// filter, 也可以反向選擇
const p1 = persons.filter(obj => {
    // return obj.name != "李四"
    return obj.id == 2;
})

console.log(p1); // {  "id": 2,  "name": "李四",  "age": 11} 

const p2 = persons.filter(obj => {
    return obj.id != 2;
})

console.log(p2); 
/**
[{
  "id": 1,
  "name": "張三",
  "age": 23
}, {
  "id": 3,
  "name": "王五",
  "age": 16
}]
 */

// 查找元素的index
const c1 = persons.findIndex(person => {
    return person.name == "李四"
})

console.log(c1); // 1
console.log(persons[c1]) //{  "id": 2,  "name": "李四",  "age": 11} 

七、連接數(shù)組元素

let arr: Array<string> = ["a", "b", "c", "d"]

let joinString = arr.join(",") //返回查找到的第一個元素所在位置
console.log(joinString) // "a,b,c,d" 

joinString = arr.join("-") //返回反序查找的第一個元素所在位置
console.log(joinString) // "a-b-c-d" 

八、排序、反序數(shù)組

let arr: Array<number> = [1,4,3,5,2]

arr.sort()
console.log(arr) // [1, 2, 3, 4, 5] 

arr.reverse() //返回反序查找的第一個元素所在位置
console.log(arr) // [5, 4, 3, 2, 1] 

九、遍歷數(shù)組,對象

  • 定義數(shù)組
let persons = [
    { id: 1, name: '張三', age: 23 },
    { id: 2, name: '李四', age: 11 },
    { id: 3, name: '王五', age: 16 }
];
  1. for 循環(huán)
for ( let index = 0; index < persons.length; ++index) {
    console.log(persons[index]);
}
  1. for…in 循環(huán)
for (let index in persons) {
  console.log(persons[index])  
}
  1. for…of循環(huán)
for (let person of persons) {
  console.log(person)  
}

  1. forEach循環(huán)
persons.forEach((value, index, array) => {
    console.log(value, index)
})

十、刪除數(shù)組,對象中符合條件的數(shù)據(jù)

  • 目前要上面的遍歷方法都有問題,因為 刪除后,索引就變了

  • 目前能想到和實(shí)現(xiàn)的辦法是通過while 來實(shí)現(xiàn)

let persons = [
    { id: 1, name: '張三', age: 23 },
    { id: 2, name: '李四', age: 11 },
    { id: 3, name: '王五', age: 16 },
    { id: 4, name: '王xx', age: 16 }
];

let i = persons.length;
while (i--) {
    if (persons[i].id == 1 || persons[i].id == 3) {
        persons.splice(i, 1);
    }
}
console.log(persons);
/**
 [{
  "id": 2,
  "name": "李四",
  "age": 11
}, {
  "id": 4,
  "name": "王xx",
  "age": 16
}] 

 */
  • 刪除在另一個數(shù)組中包含的元素:

  • 刪除在另一個數(shù)組中不包含的元素:文章來源地址http://www.zghlxwxcb.cn/news/detail-683291.html

  deleteNotInList(currList: any[], otherList: any[]) {
    let i = currList.length
    while (i--) {
      if (!otherList.some((x) => {
        return currList[i].scanItemName === x.scanItemName
      })) currList.splice(i, 1)
    }
  }

到了這里,關(guān)于TypeScript數(shù)組和對象的操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • TypeScript 數(shù)組

    ? ? ? ? ts的數(shù)組幾乎與js數(shù)組操作一致。本文主要講一些需要關(guān)注的地方。 ? ? ? ? 初始化字符串?dāng)?shù)組 ????????除了使用中括號 [] 的方法來聲明數(shù)組,我們還可以使用數(shù)組泛型來定義數(shù)組 ? ? ? ? 至于什么是泛型,請看后面的推文。 ? ? ? ? 對象數(shù)組: 解構(gòu)是一種表

    2024年02月09日
    瀏覽(14)
  • 《前端面試題》- TypeScript - TypeScript的優(yōu)/缺點(diǎn)

    簡述TypeScript的優(yōu)/缺點(diǎn) 優(yōu)點(diǎn) 增強(qiáng)了代碼的可讀性和可維護(hù)性 包容性,js可以直接改成ts,ts編譯報錯也可以生成js文件,兼容第三方庫,即使不是ts編寫的 社區(qū)活躍,完全支持es6 缺點(diǎn) 增加學(xué)習(xí)成本 增加開發(fā)成本,因為增加了類型定義 需要編譯,類型檢查會增加編譯時長,語

    2024年04月23日
    瀏覽(25)
  • 單例模式——javascript和typescript

    確保某個方法或者類只有一個是咧。而且自行實(shí)例子并向整個系統(tǒng)提供這個實(shí)例。 某個方法或類只能一個; 必須自行創(chuàng)建這個實(shí)例 必須自行向整個系統(tǒng)提供這個實(shí)例。

    2024年02月05日
    瀏覽(21)
  • 五、typescript(內(nèi)置對象)

    四、typscript(類型斷言)-CSDN博客 5.1 ES 的內(nèi)置對象(JS 中有很多內(nèi)置對象,可以直接在 TS 中當(dāng)做定義好了的類型) 5.2 DOM 和 BOM 的內(nèi)置對象 5.3 TS 核心庫的定義文件

    2024年01月20日
    瀏覽(15)
  • typescript 對象的屬性定義

    [propName: string] :表示對象屬性可以是任意值

    2024年02月21日
    瀏覽(17)
  • 一文了解JavaScript 與 TypeScript的區(qū)別

    一文了解JavaScript 與 TypeScript的區(qū)別

    TypeScript 和 JavaScript 是兩種互補(bǔ)的技術(shù),共同推動前端和后端開發(fā)。在本文中,我們將帶您快速了解JavaScript 與 TypeScript的區(qū)別。 ? 一、TypeScript 和 JavaScript 之間的區(qū)別 JavaScript 和 TypeScript 看起來非常相似,但有一個重要的區(qū)別。 JavaScript 和 TypeScript 之間的主要區(qū)別在于 JavaS

    2024年02月14日
    瀏覽(23)
  • TypeScript中數(shù)組,元組 和 枚舉類型

    方式一 方式二,使用泛型定義 方式三,使用any 可以定義不同類型 定義類型順序需保持一直 枚舉類型都有自己的編號,默認(rèn)從0開始,也可以自定義,依次增加1

    2024年02月15日
    瀏覽(25)
  • TypeScript類與對象:面向?qū)ο缶幊痰幕A(chǔ)

    TypeScript 是 JavaScript 的一個超集,它為 JavaScript 添加了靜態(tài)類型、類、接口和裝飾器等面向?qū)ο缶幊痰奶匦裕⑼ㄟ^編譯器將 TypeScript 編譯成JavaScript,可以在任何 JavaScript 環(huán)境中運(yùn)行,因此成為了 JavaScript 開發(fā)中不可或缺的工具。面向?qū)ο缶幊淌乾F(xiàn)代編程語言的基礎(chǔ),而 Ty

    2024年02月09日
    瀏覽(19)
  • TypeScript:為什么JavaScript需要類型檢查?

    JavaScript是當(dāng)今最為流行的編程語言之一。它是一種高級的、解釋性的編程語言,用于Web應(yīng)用程序的開發(fā)。然而,JavaScript的靈活性也是它的弱點(diǎn)之一。JavaScript中的變量、函數(shù)、類等都是動態(tài)類型,這意味著它們的類型可以在運(yùn)行時發(fā)生變化。雖然這種靈活性為JavaScript開發(fā)人員

    2024年02月04日
    瀏覽(22)
  • React框架:TypeScript支持的JavaScript庫

    React 框架是一個功能強(qiáng)大的 JavaScript 庫,讓用戶可以輕松地構(gòu)建高度動態(tài)的用戶界面。它借助虛擬 DOM 的思想實(shí)現(xiàn)高效的性能,并具有易于使用和靈活的編程接口。隨著越來越多的人開始使用 React ,在不斷的發(fā)展和變化中, React 框架現(xiàn)在加入了 TypeScript 的支持,使其成為一個

    2024年02月11日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包