摘要:數組數組概述數組是什么數組是值的有序集合數組中的每一個值叫做一個元素而每個元素在數組中都有一個唯一的位置這個位置用數字表示叫做索引數組用字符串表示叫做關聯數組數組是無類型的數組的元素可以是任何類型例如字符串數字值布爾值等而且每個數組中的不同
數組 數組概述
數組是什么
數組是值的有序集合 數組中的每一個值叫做一個元素 而每個元素在數組中都有一個唯一的位置
這個位置用數字表示 叫做索引數組; 用字符串表示 叫做關聯數組
JavaScript數組是無類型的 數組的元素可以是任何類型 例如字符串 數字值 布爾值等 而且每個數組中的不同元素可能是不同類型
JavaScript數組是動態的 根據需要 可以動態地向數組插入新的元素 或者從數組中刪除指定的元素
定義數組
數組最大的作用就是用于儲存多個值
定義數組分為三種形式:
1.使用數組字面量方式
2.使用數組函數方式
3.使用構造函數方式
/* 1.字面量/直接量方式定義 var 數組名稱 = [元素一,元素二,...] */ var arr1 = [];//定義一個數組 var arr2 = [100,"臥龍前端",true,undefined]; var arr6 = [10]; console.log(arr6); /* 2.函數構造方式 var 數組名稱 = new Array(元素一,元素二,...) var 數組名稱 = new Array(length) * length - number類型 表示數組的長度(存在元素的個數) */ var arr3 = new Array();//定義一個空數組 var arr4 = new Array(100,"臥龍前端",true,undefined); console.log(arr4); var arr5 = new Array(10); console.log(arr5); /* 3.函數方式定義 var 數組名稱 = Array(元素一,元素二,...) var 數組名稱 = Array(length) * lenght - number類型 表示數組的長度(存在元素的個數) */ var arr7 = Array();// 定義一個空數組 var arr8 = Array(100, "臥龍前端", true, undefined); var arr9 = Array(10); console.log(arr9);
索引數組
索引數組 - 表示數組中元素的位置使用數字值來表示
1.數字值表示元素的位置 - 角標或下標
2.數組的長度與元素的個數是一致的
3.索引數組的下標是從0開始的
var arr = [];//定義同一個空數組 arr[0] = "莊周夢蝶"; arr[1] = true; console.log(arr,length);
關聯數組
關聯數組 - 就是存儲元素的位置使用字符串來表示 一般稱之為名稱(name或key)
注意:關聯數組的數組長度與元素的個數不一致
原因:JaveScript的官方不支持關聯數組的
關聯數組的名稱(name或key)是字符串 必須使用單引號或雙引號將其包裹
var arr = [];//定義一個空數組 arr["name"] = "呂樹"; arr["age"] = 18 arr["jib"] = "大魔王"; //輸出的結果[name:"呂樹",age: 18, job:"大魔王"] console.log(arr.length);
稀疏數組
稀疏數組是包含0開始的不連續索引的數組
稀疏數組 - 數組的長度與元素的個數不一致的
var arr = []; arr[0] = "呂樹"; arr[3] = 18; arr[5] = "大魔王"; console.log(arr.length); /* 得到undefined值的幾種方式: 1.定義變量 但未初始化值 2.定義變量 并初始化值為 undefined 3.訪問數組中未定義的位置的元素值(默認為undefined) */ // 將稀疏數組進行處理,得到正常的索引數組 var newArr = []; for (var i=0; i訪問數組的元素
// 定義數組的默認為索引數組 var arr = ["前端開發",100,null]; // 調用數組名稱時,得到只是存儲所有元素數據的集合 console.log(arr); // 訪問索引數組中的元素 - 數組名稱[索引值] console.log(arr[0]); // 如果訪問了數組中未定義的位置的元素時 - 語法不抱錯,結果為 undefined console.log(arr[5]); // 索引數組中索引值最大為 arr.length - 1 // JavaScript中的關聯數組定義與訪問都是沒有問題的 var arr1 = []; arr1["name"] = "呂樹"; arr1["age"] = 18; arr1["job"] = "大魔王"; console.log(arr1["name"]);數組的復制
var arr = ["蝶夢莊周", true]; var result = arr; console.log(arr); console.log(result); arr = [100]; console.log(arr); console.log(result); arr[0] = 100; console.log(arr); console.log(result);數組元素的修改
不僅可以從數組中讀取指定的元素 還可以根據需求修改數組中指定的元素值
// 索引數組 var arr1 = []; arr1[0] = "web前端"; arr1[1] = true; // 關聯數組 var arr2 = []; arr2["name"] = "呂樹"; arr2["age"] = 18; arr2["job"] = "大魔王"; // 通過數組的索引值找到對應元素的位置,再通過重新賦值的操作進行修改 arr1[0] = 100; console.log(arr1); arr2["name"] = "呂小魚"; console.log(arr2); // 如果索引值是新的,就是新增數組的元素操作 arr1[4] = "web前端"; console.log數組元素的刪除
不僅可以根據需求修改數組中指定的元素值 也可以刪除數組中指定的元素值
數組刪除指定元素值使用delete關鍵字// 索引數組 var arr1 = []; arr1[0] = "web前端"; arr1[1] = true; // 關聯數組 var arr2 = []; arr2["name"] = "呂樹"; arr2["age"] = 18; arr2["job"] = "大魔王"; /* 使用 delete 運算符進行刪除數組的元素 * 注意 - 只是刪除元素的數據內容 而對應的位置被保留 - 稀疏數組 */ delete arr1[0]; console.log(arr1);循環遍歷數組
遍歷數組通俗點就是說把數組中的每個數都讀一遍(部分有if條件+break的則可能不會完全遍歷)可以對于數組中的每個數進行處理 亦或者是找到數組中那個自己需要的數
循環遍歷數組有三種語句:var arr = ["web前端",100,true,undefined]; // while語句 var i = 0; while (i < arr.length){ console.log(arr[i]); i++; // do...while語句 var i = 0; do { console.log(arr[i]); i++; } while (i < arr.length);*/ // for語句 for (var i=0; ifor...in語句
在ECMAScript5中新增了for...in語句 同樣可用于遍歷數組
for...in語句還可以用于遍歷稀疏數組 循環的每次將一個有效元素返回
for語句: 循環的開始和結束 都是由程序員決定的
for..in語句: 循環只能從開始到結束var arr = ["前端課程", 100, true, undefined]; /* for (var 變量 in 數組) { 語句塊 } * 變量 - 得到的是數組的索引值 */ for (var i in arr) { console.log(arr[i]); } for (var i=0; i二維數組 二維數組是什么
數組是可以嵌套的 表明一個數組可以作為一個元素被包含在另一個素組里面
利用JavaScript這個特點 創建二維數組 即數組的數組定義二維數組
定義一個規整的二維數組:
所謂規整的二維數組 就是指作為外層數組的元素的內部數據中元素的個數是一致的
定義一個不規整的二維數組:
所謂不規整的二維數組 就是指作為外層數組的元素的內部數據中元素的個數是不一致的使用二維數組
操作二維數組中的具體元素:
讀取二維數組中真正的元素內容 需要連續兩個索引值才能實現 第一個索引值表示外層數組的 第二個索引值表示內部數組的遍歷二維數組
遍歷二維數組需要使用嵌套結構的循環語句才能實現 外部循環語句是遍歷外層數組的 內部循環語句是遍歷內部數組的
二維數組
var arr = [];// 定義一個空數組 arr[0] = [100,200,300]; arr[1] = [400,500,600]; arr[2] = [700,800,900]; //console.log(arr); // 訪問二維數組中的元素 var result = arr[0]; // 循環遍歷二維數組 for (var i=0; i打印形狀
var num = 9;/* 一行打印星號的數量 */ var star = "";/* 一行要打印的星號 */ for (var i=0; i
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96782.html
摘要:知道如果我們將輸入數組中的每個值都轉換為布爾值,就可以刪除所有值為的元素,這就滿足了此挑戰的要求。 翻譯:瘋狂的技術宅https://medium.freecodecamp.o... 本文首發微信公眾號:前端先鋒歡迎關注,每天都給你推送新鮮的前端技術文章 引用自 MDN: falsy(虛值)是在 Boolean 上下文中已認定可轉換為‘假‘的值.JavaScript 在需要用到布...
摘要:對象在中,除了數字字符串布爾值這幾個簡單類型外,其他的都是對象。那么在函數對象中,這兩個屬性的有什么區別呢表示該函數對象的原型表示使用來執行該函數時這種函數一般成為構造函數,后面會講解,新創建的對象的原型。這時的函數通常稱為構造函數。。 本文原發于我的個人博客,經多次修改后發到sf上。本文仍在不斷修改中,最新版請訪問個人博客。 最近工作一直在用nodejs做開發,有了nodejs,...
摘要:專題系列共計篇,主要研究日常開發中一些功能點的實現,比如防抖節流去重類型判斷拷貝最值扁平柯里遞歸亂序排序等,特點是研究專題之函數組合專題系列第十六篇,講解函數組合,并且使用柯里化和函數組合實現模式需求我們需要寫一個函數,輸入,返回。 JavaScript 專題之從零實現 jQuery 的 extend JavaScritp 專題系列第七篇,講解如何從零實現一個 jQuery 的 ext...
摘要:數組的特別之處在于,當使用小于的非負整數作為屬性名時數組會自動維護其屬性值。返回的數組包含第一個參數指定的位置和所有到但不含第二個參數指定的位置之間的所有數組元素。數組中只需有一項滿足給定條件則返回。 概念 JavaScript數組是JavaScript對象的特殊形式。數組索引實際上和碰巧是整數的屬性名差不多,使用方括號訪問數組元素就像用方括號訪問對象的屬性一樣。JavaScript將...
摘要:與稀疏數組對立的為密集數組,密集數組的索引會被持續的創建,并且其元素的數量等于其長度。創建一個長度為的數組,并初始化了個元素使用構造函數創建數組對象的時候,關鍵字是可以省略的。另外使用和刪除元素是影響數組的長度的。 說明:本文只總結了JavaScript數組在web端的行為,不包括NodeJs端的行為。本文不涉及類型化數組(TypedArray)的討論、總結。 一、什么是數組 數組的定...
閱讀 2652·2021-11-24 09:39
閱讀 1655·2021-11-24 09:38
閱讀 634·2021-11-22 14:44
閱讀 1892·2021-11-18 10:02
閱讀 2591·2021-11-18 10:02
閱讀 1164·2021-10-14 09:43
閱讀 4252·2021-09-29 09:35
閱讀 526·2021-07-30 15:30