Array.slice()与Array.splice()的返回值类型


Posted in Javascript onOctober 09, 2006

最近做个练习,用到Array.slice()和Array.splice(),以前没有注意其返回值类型
Array.slice()返回Array -- 一个由原始数组中某一范围的元素构成的数组。
Array.splice()返回Array -- 包含从原始数组中删除的元素的一个数组。
返回的是一个数组,用typeof()看一下是object,这没错!需要提醒大家的是:
当数组元素是数字时,用Array.slice()和Array.splice()取其中某个元素进行大小比较,可得要注意,必须转换
类型,这个很隐蔽,出错后很难查的
object类型不可以用Number()直接转换成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()转换类型
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]);
也可以

Javascript 相关文章推荐
javaScript对象和属性的创建方法
Jan 15 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
Jul 26 Javascript
jquery 之 $().hover(func1, funct2)使用方法
Jun 14 Javascript
jQuery+CSS 半开折叠效果原理及代码(自写)
Mar 04 Javascript
JavaScript的Date()方法使用详解
Jun 09 Javascript
javascript判断回文数详解及实现代码
Feb 03 Javascript
老生常谈jquery id选择器和class选择器的区别
Feb 12 Javascript
js实现字符全排列算法的简单方法
May 01 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
Aug 15 jQuery
Vue自定义toast组件的实例代码
Aug 15 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
Nov 22 Javascript
基于vue实现微博三方登录流程解析
Nov 04 Javascript
实例:尽可能写友好的Javascript代码
Oct 09 #Javascript
splice slice区别
Oct 09 #Javascript
获取DOM对象的几种扩展及简写
Oct 09 #Javascript
js几个不错的函数 $$()
Oct 09 #Javascript
使用Javascript和DOM Interfaces来处理HTML
Oct 09 #Javascript
激活 ActiveX 控件
Oct 09 #Javascript
自动更新作用
Oct 08 #Javascript
You might like
PHP sprintf()函数用例解析
2011/05/18 PHP
PHP list() 将数组中的值赋给变量的简单实例
2016/06/13 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
js图片上传前预览功能(兼容所有浏览器)
2016/08/24 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
[46:49]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.19
2020/12/24 DOTA
Python外星人入侵游戏编程完整版
2020/03/30 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
Python3一行代码实现图片文字识别的示例
2018/01/15 Python
Python JSON格式数据的提取和保存的实现
2019/03/22 Python
python Shapely使用指南详解
2020/02/18 Python
python画环形图的方法
2020/03/25 Python
Python文件读写w+和r+区别解析
2020/03/26 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
HTML5的结构和语义(5):内嵌媒体
2008/10/17 HTML / CSS
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
2014年上半年工作自我评价
2014/01/18 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
办公室主任职责范本
2014/03/07 职场文书
主题班会演讲稿
2014/05/22 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
2015年实习班主任工作总结
2015/04/23 职场文书
销售合作意向书范本
2015/05/08 职场文书
公司年会开场白
2015/06/01 职场文书
Python快速实现一键抠图功能的全过程
2021/06/29 Python
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python