幾種向陣列中新增元素方法的效能比較
引入:向一個數組中插入元素是平時很常見的一件事情。可以使用push在陣列尾部插入元素,可以用unshift在陣列頭部插入元素,也可以用splice在陣列中間插入元素。
雖然這些方法雖然常用,但並不意味著沒有更加高效的方法……
1.向陣列結尾新增元素
最常用的當然是arry.push()方法,但是下面的方法效率更高:
var arr = [1,2,3,4,5];
var arr2 = [];
arr.push(6); //方法1
arr[arr.length] = 6; //方法2
arr2 = arr.concat([6]); //方法3
移動端效率:
最快的為
1. arr[arr.length] = 6; // 平均 5 632 856 ops/sec
2. arr.push(6); // 慢35.64%
3. arr2 = arr.concat([6]); // 慢62.67%
PC端效率:
最快的為
1. arr[arr.length] = 6; // 平均42 345 449 ops/sec
2. arr.push(6); // 慢34.66%
3. arr2 = arr.concat([6]); // 慢85.79%
因此可見,向陣列結尾新增元素最快的方法是arr[arr.length]=xxx
2.向陣列的頭部新增元素
最常用的當然是arry.unshift()
var arr = [1,2,3,4,5];
arr.unshift(0);
[0].concat(arr);
移動端效率:
最快的為
1. [0].concat(arr); // 平均4 972 622 ops/sec
2. arr.unshift(0); // 慢64.70%
PC端效率:
最快的為
最快的為
1. [0].concat(arr); // 平均6 032 573 ops/sec
2. arr.unshift(0); // 慢78.65%
因此可見,向陣列結尾新增元素最快的方法是newArray.concat(array)
3.向陣列中間新增元素
使用splice可以簡單的向陣列中間新增元素,這也是最高效的方法。
var items = ['one', 'two', 'three', 'four'];
items.splice(items.length / 2, 0, 'hello');
相關推薦
幾種向陣列中新增元素方法的效能比較
引入:向一個數組中插入元素是平時很常見的一件事情。可以使用push在陣列尾部插入元素,可以用unshift在陣列頭部插入元素,也可以用splice在陣列中間插入元素。 雖然這些方法雖然常用,但並不意味著沒有更加高效的方法…… 1.向陣列結尾新增元素 最
向JavaScript的陣列中新增元素的方法小結
在陣列的開頭新增新元素 - unshift()原始碼:?12345678910111213141516171819202122<!DOCTYPE html><html><body><p id="demo">Click the b
向陣列中新增一個元素
實現效果: 知識運用: Array物件的Length屬性 int類的tryParse()方法 實現程式碼: int[] int_arr; //"隨機陣列"按鈕事件 private void button1_Click(object se
向可變陣列中新增元素崩潰。。。
.h 屬性: @property (copy,nonatomic) NSMutableArray *thingArrayIssue; @property (copy,nonatomic) NSMutableArray *siteArrayIssue; @property (
JavaScript 從陣列中刪除元素方法
1.通過value值從陣列中刪除: function removeByValue(arr, val) { for (var i = 0; i < arr.length; i++) { if (arr[i] == val) { arr.spli
向陣列中新增資料但length列印為0?
最近寫專案時, 遇到了一個問題, 我明明 向陣列中push了資料, 但是列印的時候為[]陣列,但是空數組裡面有一條資料,length為1, 但是打印出來length發現長度為0 看程式碼 先來看這種情況 很正常對吧, 往陣列中push一組資料, 長度為1 往下看
向陣列中新增陣列
實現效果: 實現程式碼: static void Main(string[] args) { int index; Program pro = new Program(); int[] a
js 宣告陣列和向陣列中新增物件變數
陣列有四種定義的方式 使用建構函式: var a = new Array(); var b = new Array(10); var c = new Array("first", "second", "third"); 或者陣列直接量: var d = ["fi
js如何向陣列中新增物件並通過ajax向後臺傳遞list資料
js動態向陣列新增物件,並通過ajax提交List資料到後臺 var data=[{name: '張三',age: 18,id: 1},{name: '李四',age: 22,id: 2}]; var test= []; for (var i = 0; i < data.le
js陣列中新增元素和刪除元素
一、給陣列中新增元素 1、arr.unshift(值); 給陣列的開頭壓入一個元素 2、arr.push(值); 給陣列的結尾壓入一個元素 二、刪除陣列中的元素 1、arr.pop();
java向陣列中插入元素
/** * * @Title: test_insert_array * @Description: 該方法的主要作用:像陣列中插入元素 * @param 設定檔案 * @retu
幾種任務排程的 Java 實現方法與比較
簡介: 綜觀目前的 Web 應用,多數應用都具備任務排程的功能。本文由淺入深介紹了幾種任務排程的 Java 實現方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,並對其優缺點進行比較,目的在於給需要開發任務排程的程式設計師提供
iOS去除陣列中重複元素的幾種方法
//第一種:利用NSDictionary的allKeys(allValues)方法。 NSArray *array = @[@"2016-10-1",@"2016-10-9",
一個類,有新增元素(add)和獲取元素數量(size)方法。 啟動兩個線程。線程1向容器中新增數據。線程2監聽容器元素數量,當容器元素數量為5時,線程2輸出信息並終止
override tac trace add syn countdown print import 數據 方式一: /** * 兩個線程要是可見的所以要加上votalile */public class Test_01 { public static void
PHP從陣列中刪除元素的四種方法例項
刪除一個元素,且保持原有索引不變 使用 unset 函式,示例如下: <?php $array = array(0 => "a", 1 => "b", 2 => "c")
JS刪除JSON陣列中的元素的兩種方法:delete和splice
最近的需求中,需要從JSON陣列中刪除元素,之前不太瞭解,特地查了一下,總結一下: splice(startIndex,count);這個方法用於從陣列的第startIndex位開始,刪除count個元素。 說明: 1、滿足條件的元素直接被刪除,腳標重信排 2、sta
js向一個數組中插入元素的幾個方法-效能比較
向一個數組中插入元素是平時很常見的一件事情。你可以使用push在陣列尾部插入元素,可以用unshift在陣列頭部插入元素,也可以用splice在陣列中間插入元素。 但是這些已知的方法,並不意味著沒有更加高效的方法。讓我們接著往下看…… 向陣列結尾新增元素 向陣列結尾新增元素用push()
JS:呼叫方法實現向陣列中追加一個元素
//(1)在陣列末尾追加一個元素,返回追追加元素後陣列的長度 var array=["String","Number","Undefined","Null","Boolean"]; var return_value=array.push(123);
Js中去除陣列中重複元素的4種方法
今天工作遇到此問題,嘗試多個方法不盡人意,故此寫個部落格來總結一下如何在js中去除重複元素。 方法1: Array.prototype.method1 = function(){ var arr[
集合框架(一)續 向集合中新增一個集合、陣列和List之間的相互轉換、從集合中刪除另一個集合所包含的元素
集合方法集結: import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.LinkedList; import java.util.List