JS針對Array的各種操作匯總
Array應該是我們在平常寫js程式碼中,使用頻率最高的,在平常的專案中,許多資料都是可以透過Array來儲存、操作等任務。除了Object之外,Array型別應該是js中最常用的型別了。
今天總結Array的一些簡單和基本的操作,也來鞏固下自己的基礎知識。
一、如何建立Array(下面直接說數組)
創建數組主要有兩種方法,第一種是使用數組建構函數,第二種是使用數組字面量表示法。
1、使用陣列建構子
如:var arr = new Array();
如果預先知道陣列的長度,那麼也可以直接給建構函式傳遞該長度。
如:var arr = new Array(20);
如果知道數組中應該包含的項,就直接在構造的時候,傳遞數組中的應該包含的項。
如:var arr = new Array(1,2,3);
2、使用陣列字面量表示法
如:var arr = [1,2,3,4];
var arr2 = [ ];
二、數組的操作
1、 棧方法和隊列方法
1)棧操作的方式:先進後出原則----透過重數組尾部添加資料項,然後在從數組的尾部獲取尾部資料項
push();----就是在數組的尾部添加資料項,該方法的參數個數可以自訂;
pop();---該方法就是取得數組的最尾部的一個資料項,函數無需傳遞任何參數;
如:
var colors = new Array();//建立陣列
var count = colors.push("red","green");//推入兩項
console.log(count);
var color = ["red","black"];
color.push("brown");//推入另一項
color[3]="yellow "; //新增一項
console.log(color);
console.log(color.push("blue"));
console.log(color.pop());//取得最後一項
2)佇列操作的方式:先進先出原則---透過從陣列的頭部插入資料項目來模擬實作
push();--向陣列末端新增資料項;
shift ();---取得陣列的頭部一項的資料資訊;
unshift();--與shift完全相反,就是向陣列的頭部插入資料項目資訊;
var colorArr = new Array() ;//建立數組
colorArr.push("red","yellow");//推入兩個項
console.log(colorArr);
var length = colorArr.push("blue");
console.log (length);
var item = colorArr.shift();//取得第一項
console.log(item);
console.log(colorArr.length);
2、檢測驗證組
。在平時專案開發中,我們往往會遇到,判斷一個物件是否為數組(函數的參數傳遞中),那麼如果判斷一個物件是否為數組呢,有以下兩種方式
1)第一種方法
if(value instanseof Array){ }
if(Array.isArray(value)){ }//该方法只使用与高版本的浏览器:IE9+、Firefox4+/Chrome
1)添加元素(數組末尾添加元素)
在數組arr 末尾添加元素item。不要直接修改數組arr,結果回傳新的數組.
方法一:slice()和push()結合
function append(arr, item) { var newArr = arr.slice(0); // slice(start, end)浅拷贝数组 newArr.push(item); return newArr; };
方法二:普通的迭代拷貝
function append(arr, item) { var length = arr.length, newArr = []; for (var i = 0; i < length; i++) { newArr.push(arr[i]); } newArr.push(item); return newArr; };
function append(arr, item) { return arr.concat(item); }
在陣列arr 的index 處加入元素item。不要直接修改陣列 arr,結果傳回新的陣列。
方法一:使用普通的迭代拷貝
function insert(arr, item, index) { var newArr=[]; for(var i=0;i<arr.length;i++){ newArr.push(arr[i]); } newArr.splice(index,0,item); return newArr; }
方法二:slice()和splice()結合
function insert(arr, item, index) { var newArr=arr.slice(0); newArr.splice(index,0,item); return newArr; }
function insert(arr, item, index) { var newArr=arr.concat(); newArr.splice(index,0,item); return newArr; }
刪除數組arr 最後一個元素。不要直接修改陣列 arr,結果回傳新的陣列 。
方法一:使用普通的迭代拷貝
function truncate(arr, item) { var newArr=[]; for(var i=0;i<arr.length-1;i++){ newArr.push(arr[i]); } return newArr; }
方法二:concat()和pop()結合
function truncate(arr) { var newArr = arr.concat(); newArr.pop(); return newArr; }
4、刪除元素(刪除數組第一個元素)
刪除數組 arr 第一個元素。不要直接修改陣列 arr,結果回傳新的陣列 。方法一:使用普通的迭代拷貝
function curtail(arr) { var newArr=[]; for(var i=1;i<arr.length;i++){ newArr.push(arr[i]); } return newArr; }
方法二:concat()和shift()結合
function curtail(arr) { var newArr = arr.concat(); newArr.shift(); return newArr; }
function curtail(arr) { return arr.slice(1); }
合併數組 arr1 和數組 arr2。不要直接修改陣列 arr,結果回傳新的陣列 。
方法一:使用普通的迭代拷貝
function concat(arr1, arr2) { var newArr=[]; for(var i=0;i<arr1.length;i++){ newArr.push(arr1[i]); } for(var j=0;j<arr2.length;j++){ newArr.push(arr2[j]); } return newArr; }
方法二:concat()方法
function concat(arr1, arr2) { return arr1.concat(arr2); }
function concat(arr1, arr2) { var newArr=arr1.slice(0); for(var i=0;i<arr2.length;i++){ newArr.push(arr2[i]); } return newArr; }
中的所有值與item 相等的元素。不要直接修改陣列 arr,結果回傳新的陣列 。
方法一:splice()方法
function remove(arr, item) { var newArr = arr.slice(0); for(var i=0; i<newArr.length; i++) { if(newArr[i] == item) { newArr.splice(i, 1); } } return newArr; } var arr = [1,2,3,4,2]; var item = 2; console.log(remove(arr, item)); console.log(arr);
function remove(arr,item){ var newarr = []; for(var i=0;i<arr.length;i++){ if(arr[i] != item){ newarr.push(arr[i]); } } return newarr; }

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

人臉偵測辨識技術已經是一個比較成熟且應用廣泛的技術。而目前最廣泛的網路應用語言非JS莫屬,在Web前端實現人臉偵測辨識相比後端的人臉辨識有優勢也有弱勢。優點包括減少網路互動、即時識別,大大縮短了使用者等待時間,提高了使用者體驗;弱勢是:受到模型大小限制,其中準確率也有限。如何在web端使用js實現人臉偵測呢?為了實現Web端人臉識別,需要熟悉相關的程式語言和技術,如JavaScript、HTML、CSS、WebRTC等。同時也需要掌握相關的電腦視覺和人工智慧技術。值得注意的是,由於Web端的計

如何使用JS和百度地圖實現地圖平移功能百度地圖是一款廣泛使用的地圖服務平台,在Web開發中經常用於展示地理資訊、定位等功能。本文將介紹如何使用JS和百度地圖API實作地圖平移功能,並提供具體的程式碼範例。一、準備工作使用百度地圖API前,首先需要在百度地圖開放平台(http://lbsyun.baidu.com/)上申請一個開發者帳號,並建立一個應用程式。創建完成

股票分析必備工具:學習PHP和JS繪製蠟燭圖的步驟,需要具體程式碼範例隨著網路和科技的快速發展,股票交易已成為許多投資者的重要途徑之一。而股票分析是投資人決策的重要一環,其中蠟燭圖被廣泛應用於技術分析。學習如何使用PHP和JS繪製蠟燭圖將為投資者提供更多直觀的信息,幫助他們更好地做出決策。蠟燭圖是一種以蠟燭形狀來展示股票價格的技術圖表。它展示了股票價格的

如何使用PHP和JS創建股票蠟燭圖股票蠟燭圖是股票市場中常見的技術分析圖形,透過繪製股票的開盤價、收盤價、最高價和最低價等數據,幫助投資者更直觀地了解股票的價格波動情形。本文將教你如何使用PHP和JS創建股票蠟燭圖,並附上具體的程式碼範例。一、準備工作在開始之前,我們需要準備以下環境:1.一台運行PHP的伺服器2.一個支援HTML5和Canvas的瀏覽器3

如何使用JS和百度地圖實現地圖點擊事件處理功能概述:在網路開發中,經常需要使用地圖功能來展示地理位置和地理資訊。而地圖上的點擊事件處理是地圖功能中常用且重要的一環。本文將介紹如何使用JS和百度地圖API來實現地圖的點擊事件處理功能,並給出具體的程式碼範例。步驟:匯入百度地圖的API檔案首先,要在HTML檔案中匯入百度地圖API的文件,可以透過以下程式碼實現:

如何使用JS和百度地圖實現地圖熱力圖功能簡介:隨著互聯網和行動裝置的快速發展,地圖成為了普遍的應用場景。而熱力圖作為一種視覺化的展示方式,能夠幫助我們更直觀地了解數據的分佈。本文將介紹如何使用JS和百度地圖API來實現地圖熱力圖的功能,並提供具體的程式碼範例。準備工作:在開始之前,你需要準備以下事項:一個百度開發者帳號,並建立一個應用,取得到對應的AP

隨著網路金融的快速發展,股票投資已經成為了越來越多人的選擇。而在股票交易中,蠟燭圖是常用的技術分析方法,它能夠顯示股票價格的變動趨勢,幫助投資人做出更精準的決策。本文將透過介紹PHP和JS的開發技巧,帶領讀者了解如何繪製股票蠟燭圖,並提供具體的程式碼範例。一、了解股票蠟燭圖在介紹如何繪製股票蠟燭圖之前,我們首先需要先了解什麼是蠟燭圖。蠟燭圖是由日本人

js和vue的關係:1、JS作為Web開發基石;2、Vue.js作為前端框架的崛起;3、JS與Vue的互補關係;4、JS與Vue的實踐應用。
