Array 數組

来源:https://www.cnblogs.com/kuikui/archive/2023/01/19/17061018.html
-Advertisement-
Play Games

概念 Array 數組是有序的元素序列。 語法 new Array(length) new Array(element1) new Array(element1, element2) new Array(element1, element2, element3) new Array(element1 ...


概念

Array 數組是有序的元素序列。

語法

new Array(length)
new Array(element1)
new Array(element1, element2)
new Array(element1, element2, element3)
new Array(element1, element2, element3, ... elementN)
[...]

參數

  • length 如果僅有一個參數並且是自然數時,創建指定長度的數組。
  • elementN 數組中的元素。

返回值

返回數組實例。

描述

數組的構造函數僅有一個參數的時候,如果這個參數是自然數時,則創建指定長度的數組。

數組的構造函數僅有一個參數的時候,並且參數值為負整數時,報語法錯誤,提示數組長度無效。

如果這個參數不是自然數時,則創建長度為1的數組,參數是數組中的元素。

數組的構造函數超過一個時,參數是數組中的元素,依次按插入順序排序。

使用數組的靜態方法Array.of創建實例,這個方法與構造函數不同的地方是參數作為數組的元素。

例子

例一、創建空數組。

let arr = new Array();
console.log(arr);  // []
// 等價於
let arr = new Array(0);
// 等價於
let arr = [];

例二、創建指定長度的數組。

let arr = new Array(5);
// [empty × 5]
// 等價於
let arr = [,,,,,];

例三、當元素不是自然數時,數組實例化。

let arr = new Array('前端咖');
console.log(arr);  // ['前端咖']
// 等價於
let arr = ['前端咖'];

例四、數組實例化設置初始值。

let arr = new Array(5, 5);
console.log(arr);  // [5, 5];
// 等價於
let arr = [5, 5];

例五、數組實例化設置初始值。

let arr = new Array('qian', 'duan', 'ka');
console.log(arr);  // ['qian', 'duan', 'ka'];
// 等價於
let arr = ['qian', 'duan', 'ka'];

例六、數組元素可以是任何值。

let arr = new Array();
arr.push(1);  // 插入是數值
arr.push('a');  // 插入字元串
arr.push(true);  // 插入布爾值
console.log(arr);  // [1, 'a', true]

例七、數組索引是按照自然數的順序,引索引值從零開始到數組長度減一。

let arr = new Array('qian', 'duan', 'ka');
console.log(arr);  // ['qian', 'duan', 'ka']
console.log(arr.length);  // 3

console.log(arr[0]);  // 'qian'
console.log(arr[1]);  // 'duan'
console.log(arr[2]);  // 'ka'

例八、修改指定索引的元素。

let arr = new Array('qian', 'duan', 'ka');
console.log(arr[0]);  // 'qian'
arr[0] = '前';
console.log(arr[0]);  // '前'

例九、數組索引是連續性,設置索引大於數組長度,中間用預設值undefined填充。

let arr = new Array('qian', 'duan', 'ka');
console.log(arr);  // ['qian', 'duan', 'ka'];
console.log(arr.length);  // 3
arr[10] = 'hao';
console.log(arr);  // ['qian', 'duan', 'ka', empty × 7, 'hao']
console.log(arr.length);  // 11

例十、數組長度設置。

let arr = new Array('qian', 'duan', 'ka', 'guan', 'wang');
console.log(arr);  // ['qian', 'duan', 'ka', 'guan', 'wang']
console.log(arr.length);  // 5
arr.length = 3;
console.log(arr);  // ['qian', 'duan', 'ka']
console.log(arr.length);  // 3

例十一、靜態方法Array.of創建數組。

let arr = Array.of(5);
console.log(arr);  // [5]
console.log(arr.length);  // 1

公眾號


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 2023-01-18 一、Spring中組件掃描 1、預設使用的情況 <context:component-scan base-package="com.hh"></context:component-scan> 2、包含掃描 註:使用包含掃描之前,必須設置use-default-filters=" ...
  • EntityFrameworkCore是微軟官網提供的ORM框架,是輕量化、可擴展、開源和跨平臺的數據訪問技術框架,但是在.Net 開發圈的評論卻褒貶不一。很多人認為EFCore 執行的效能比較差,很多複雜的查詢場景很難實現,也有很多人認為,EFCore 開發簡單,在中小型項目中,能夠快速的實現業務 ...
  • 運行環境:Window10,.Net7.0; 編者:烏龍哈里 2023-01-13 經常碰到兩個控制項需要相互傳遞消息,這時候需要用到事件。比如現有兩個類如下: class AA { private string Text = "AA"; public void SetText(string s) { ...
  • Cortex M 的中斷和優先順序, 首先要區分開 中斷 和 中斷優先順序 這是兩個不同的東西, 對於 Cortex-M0 和 Cortex-M0+ 內核, 除了系統內建中斷外, 支持最多 32 個中斷. 對於 Cortex-M3 內核, 除了 16 個內核中斷外, 支持最多 240 個中斷, 有8-b... ...
  • 分組數據 數據分組 分組允許把數據分為多個邏輯組,以便能對每個組進行聚集計算。 創建分組 分組是在SELECT語句的GROUP BY子句中建立的: SELECT vend_id, COUNT(*) AS num_prods FROM products GROUP BY vend_id; 註意: GR ...
  • 關於資料庫的性能優化其實是一個很複雜的大課題,很難通過一篇帖子講的很全面和深刻,這也就是為什麼我的標題是‘淺析’,程式員的成長一定是要付出代價和成本,因為只有真的在一線切身體會到當時的緊張和壓力,對於一件事情才能印象深刻,但反之也不能太過於強調代價,如果可以通過一些別人的分享就可以規避一些自己業務的... ...
  • 在 Vue 中,如果直接對數組進行操作,比如使用下標直接修改元素, Vue 是無法監測到這種變化的,導致無法觸發視圖更新。因此如何監測數組變化是值得關註的問題。 ...
  • 項目場景: 基於electron + Vue + node.js + express + mysql + evanpatchouli-mysql + Ant-Design-Vue,編寫一款屬於自己的輕量級MySQL資料庫界面工具。 問題列表 如何動態渲染高度自定義的Ant Design Table? ...
一周排行
    -Advertisement-
    Play Games
  • 一:背景 1. 講故事 年前遇到了好幾例托管堆被損壞的案例,有些運氣好一些,從被破壞的托管堆記憶體現場能觀測出大概是什麼問題,但更多的情況下是無法做出準確判斷的,原因就在於生成的dump是第二現場,借用之前文章的一張圖,大家可以理解一下。 為了幫助更多受此問題困擾的朋友,這篇來整理一下如何 快狠準 的 ...
  • 前言 .NET6 開始,.NET Croe API 項目取消了 Startup.cs 文件,在 Program.cs 文件的 Main 函數中完成服務的註冊和中間件管道的管理。但當我們項目引入更多包的時候,Program.cs 文件也會看起來很臃腫。 而且,我們不只會有一個後端項目,為了方便快速創建 ...
  • 目錄 背景 get 與 post 的區別 所有介面都用 post 請求? 背景 最近在逛知乎的時候發現一個有趣的問題:公司規定所有介面都用 post 請求,這是為什麼? 看到這個問題的時候其實我也挺有感觸的,因為我也曾經這樣問過我自己。在上上一家公司的時候接到一個項目是從零開始搭建一個微服務,當時就 ...
  • *以下內容為本人的學習筆記,如需要轉載,請聲明原文鏈接 微信公眾號「englyf」https://mp.weixin.qq.com/s/2GFLTstDC7w6u3fTJxflNA 本文大概 1685 個字,閱讀需花 6 分鐘內容不多, 但也花了一些精力如要交流, 歡迎關註我然後評論區留言 謝謝你的 ...
  • 在新版本的pandas中,上述代碼會引起警告,建議改成SQLAlchemy connectable(engine/connection),後續代碼將引入這種升級的連接方式。 ...
  • 幾乎所有的高級編程語言都有自己的垃圾回收機制,開發者不需要關註記憶體的申請與釋放,Python 也不例外。Python 官方團隊的文章 https://devguide.python.org/internals/garbage-collector 詳細介紹了 Python 中的垃圾回收演算法,本文是這篇 ...
  • 如果您想查找高於或低於平均值的數字,可以不必計算該平均值,就能查看更高或更低的值。通過Java應用程式,可以自動突出顯示這些數字。除了快速突出顯示高於或低於平均值的值外,您還可以查看高於或低於的值的個數。現在讓我們看看如何在 Java應用程式中實現此操作。 引入jar包 導入方法1: 手動引入。將  ...
  • 第一種方式:使用{} firstDict = {"name": "wang yuan wai ", "age" : 25} 說明:{}為創建一個空的字典對象 第二種方式:使用fromkeys()方法 second_dict = dict.fromkeys(("name", "age")) #valu ...
  • 在golang中可以使用a := b這種方式將b賦值給a,只有當b能進行深拷貝時a與b才不會互相影響,否則就需要進行更為複雜的深拷貝。 下麵就是Go賦值操作的一個說明: Go語言中所有賦值操作都是值傳遞,如果結構中不含指針,則直接賦值就是深度拷貝;如果結構中含有指針(包括自定義指針,以及切片,map ...
  • 本文結合京東監控埋點場景,對解決樣板代碼的技術選型方案進行分析,給出最終解決方案後,結合理論和實踐進一步展開。通過關註文中的技術分析過程和技術場景,讀者可收穫一種樣板代碼思想過程和解決思路,並對Java編譯器底層有初步瞭解。 ...