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 相关文章推荐
JS解密入门之凭直觉解
Jun 25 Javascript
获得Javascript对象属性个数的示例代码
Nov 21 Javascript
form表单action提交的js部分与html部分
Jan 07 Javascript
浅谈JavaScript实现面向对象中的类
Dec 09 Javascript
再谈JavaScript线程
Jul 10 Javascript
VUE实现日历组件功能
Mar 13 Javascript
代码详解Vuejs响应式原理
Dec 20 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
Dec 25 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
Feb 13 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 Javascript
vue-iview动态新增和删除的方法
Jun 17 Javascript
Vue组件更新数据v-model不生效的解决
Apr 02 Vue.js
实例:尽可能写友好的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通过ajax实现双击table修改内容
2014/04/28 PHP
php单例模式实现方法分析
2015/03/14 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
PHP设计模式之模板方法模式实例浅析
2018/12/20 PHP
CodeIgniter框架实现的整合Smarty引擎DEMO示例
2019/03/28 PHP
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
利用javascript实现web页面中指定区域打印
2013/10/30 Javascript
JSON格式化输出
2014/11/10 Javascript
js中document.write的那点事
2014/12/12 Javascript
jQuery中ajax的post()方法用法实例
2014/12/26 Javascript
JQuery实现Ajax加载图片的方法
2015/12/24 Javascript
用JS写的一个Ajax库(实例代码)
2016/08/06 Javascript
JS实现六位字符密码输入器功能
2016/08/19 Javascript
原生JS实现轮播效果+学前端的感受(防止走火入魔)
2016/08/21 Javascript
JavaScript中的toString()和toLocaleString()方法的区别
2017/02/15 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
微信小程序实现底部导航
2018/11/05 Javascript
vuex入门最详细整理
2020/03/04 Javascript
Python语言的面相对象编程方式初步学习
2016/03/12 Python
解析Python中的eval()、exec()及其相关函数
2017/12/20 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
移动端html5模拟长按事件的实现方法
2018/09/30 HTML / CSS
世界上最具创新性的增强型知名运动品牌:Proviz
2018/04/03 全球购物
学生党员思想汇报
2013/12/28 职场文书
铁路个人事迹材料
2014/01/30 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
综合办公室主任岗位职责
2014/04/13 职场文书
安全教育演讲稿
2014/05/09 职场文书
小学生节约用水倡议书
2014/05/15 职场文书
2019年销售部季度工作计划3篇
2019/10/09 职场文书
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS