Array.slice()與Array.splice()的返回值類型
更新時(shí)間:2006年10月09日 00:00:00 作者:
最近做個(gè)練習(xí),用到Array.slice()和Array.splice(),以前沒(méi)有注意其返回值類型
Array.slice()返回Array -- 一個(gè)由原始數(shù)組中某一范圍的元素構(gòu)成的數(shù)組。
Array.splice()返回Array -- 包含從原始數(shù)組中刪除的元素的一個(gè)數(shù)組。
返回的是一個(gè)數(shù)組,用typeof()看一下是object,這沒(méi)錯(cuò)!需要提醒大家的是:
當(dāng)數(shù)組元素是數(shù)字時(shí),用Array.slice()和Array.splice()取其中某個(gè)元素進(jìn)行大小比較,可得要注意,必須轉(zhuǎn)換
類型,這個(gè)很隱蔽,出錯(cuò)后很難查的
object類型不可以用Number()直接轉(zhuǎn)換成number,需要先toString()/8@$
如:
var arr = [0, 1, 2];
var arr1 = [1, 2, 3];
for (var i = 0; i < arr.length; i++) {
trace (arr.slice (i,i+1)+"--"+typeof (arr.slice (i,i+1)));
//output--0--object.....
trace (arr1.slice (i,i+1)+"--"+typeof (arr1.slice (i,i+1)));
//output--1--object....
trace (arr.slice (i,i+1)<arr1.slice (i,i+1));
//output--false,,,,object不可比較大小
trace (arr.slice (i,i+1)>arr1.slice (i,i+1));
//output--false,,,,object不可比較大小
trace (Number(arr.slice (i,i+1))<Number(arr1.slice (i,i+1)));
//output--undefined,,,,object不可用Number()轉(zhuǎn)換類型
trace (Number(arr.slice (i,i+1).toString())<Number(arr1.slice (i,i+1).toString()));
//output--true,先toString()再Number()就可以
}
trace (arr.slice (i,i+1)<arr1.slice (i,i+1));
trace (arr.slice (i,i+1)>arr1.slice (i,i+1));
寫成
trace (arr.slice (i,i+1)[0]<arr1.slice (i,i+1)[0]);
trace (arr.slice (i,i+1)[0]>arr1.slice (i,i+1)[0]);
也可以
Array.slice()返回Array -- 一個(gè)由原始數(shù)組中某一范圍的元素構(gòu)成的數(shù)組。
Array.splice()返回Array -- 包含從原始數(shù)組中刪除的元素的一個(gè)數(shù)組。
返回的是一個(gè)數(shù)組,用typeof()看一下是object,這沒(méi)錯(cuò)!需要提醒大家的是:
當(dāng)數(shù)組元素是數(shù)字時(shí),用Array.slice()和Array.splice()取其中某個(gè)元素進(jìn)行大小比較,可得要注意,必須轉(zhuǎn)換
類型,這個(gè)很隱蔽,出錯(cuò)后很難查的
object類型不可以用Number()直接轉(zhuǎn)換成number,需要先toString()/8@$
如:
var arr = [0, 1, 2];
var arr1 = [1, 2, 3];
for (var i = 0; i < arr.length; i++) {
trace (arr.slice (i,i+1)+"--"+typeof (arr.slice (i,i+1)));
//output--0--object.....
trace (arr1.slice (i,i+1)+"--"+typeof (arr1.slice (i,i+1)));
//output--1--object....
trace (arr.slice (i,i+1)<arr1.slice (i,i+1));
//output--false,,,,object不可比較大小
trace (arr.slice (i,i+1)>arr1.slice (i,i+1));
//output--false,,,,object不可比較大小
trace (Number(arr.slice (i,i+1))<Number(arr1.slice (i,i+1)));
//output--undefined,,,,object不可用Number()轉(zhuǎn)換類型
trace (Number(arr.slice (i,i+1).toString())<Number(arr1.slice (i,i+1).toString()));
//output--true,先toString()再Number()就可以
}
trace (arr.slice (i,i+1)<arr1.slice (i,i+1));
trace (arr.slice (i,i+1)>arr1.slice (i,i+1));
寫成
trace (arr.slice (i,i+1)[0]<arr1.slice (i,i+1)[0]);
trace (arr.slice (i,i+1)[0]>arr1.slice (i,i+1)[0]);
也可以
您可能感興趣的文章:
- php數(shù)組函數(shù)array_push()、array_pop()及array_shift()簡(jiǎn)單用法示例
- PHP array_shift()用法實(shí)例分析
- php通過(guò)array_shift()函數(shù)移除數(shù)組第一個(gè)元素的方法
- php中array_slice和array_splice函數(shù)解析
- PHP中unset,array_splice刪除數(shù)組中元素的區(qū)別
- 解析array splice的移除數(shù)組中指定鍵的值,返回一個(gè)新的數(shù)組
- php數(shù)組函數(shù)序列之a(chǎn)rray_splice() - 在數(shù)組任意位置插入元素
- js利用Array.splice實(shí)現(xiàn)Array的insert/remove
- php去掉數(shù)組的第一個(gè)值的兩個(gè)函數(shù):array_shift、array_splice
相關(guān)文章
javascript少兒編程關(guān)于返回值的函數(shù)內(nèi)容
在本篇文章中我們給大家整理了兒童學(xué)習(xí)JS中關(guān)于返回值的函數(shù)的相關(guān)內(nèi)容知識(shí)點(diǎn),對(duì)此有興趣的參考下。2018-05-05辨析JavaScript中的Undefined類型與null類型
Undefined與null都是js中的基本數(shù)據(jù)類型,然而正如它們的名字那樣,未初始化和空并不相同,下面我們就來(lái)詳細(xì)辨析JavaScript中的Undefined類型與null類型:2016-05-05javascript學(xué)習(xí)筆記(六) Date 日期類型
javascript學(xué)習(xí)筆記之Date 日期類型介紹,需要的朋友可以參考下2012-06-06Javascript核心讀書有感之詞法結(jié)構(gòu)
這篇文章主要介紹了Javascript核心讀書有感之詞法結(jié)構(gòu),需要的朋友可以參考下2015-02-02javascript基礎(chǔ)知識(shí)分享之類與函數(shù)化
在C++中是以class來(lái)聲明一個(gè)類的,JavaScript與C++不同,它使用了與函數(shù)一樣的function來(lái)聲明,這就讓許多學(xué)Jscript的朋友把類與函數(shù)混在一起了,在Jscript中函數(shù)與類確實(shí)有些混,但使用久了自然會(huì)理解,這篇文章是針對(duì)想進(jìn)攻面向?qū)ο缶幊痰呐笥讯鴮?就不打算討論得太深了2016-02-02javascript定義變量時(shí)加var與不加var的區(qū)別
這篇文章主要介紹了javascript 變量中 var 與不加var的區(qū)別,需要的朋友可以參考下2014-12-12