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 相关文章推荐
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
Apr 16 Javascript
node.js [superAgent] 请求使用示例
Mar 13 Javascript
AngularJs Scope详解及示例代码
Sep 01 Javascript
微信小程序 本地数据存储实例详解
Apr 13 Javascript
AngularJS封装$http.post()实例详解
May 06 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
Jan 30 Javascript
vue路由懒加载的实现方法
Mar 12 Javascript
Three.js实现简单3D房间布局
Dec 30 Javascript
js验证密码强度解析
Mar 18 Javascript
原生JS实现拖拽功能
Dec 16 Javascript
vue中封装axios并实现api接口的统一管理
Dec 25 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
我常用的几个类
2006/10/09 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
浅谈Javascript如何实现匀速运动
2014/12/19 Javascript
JavaScript插件化开发教程 (三)
2015/01/27 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
Bootstrap媒体对象学习使用
2017/03/07 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
vue.js使用watch监听路由变化的方法
2018/07/08 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
详解jQuery中的prop()使用方法
2020/01/05 jQuery
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
python通过cookie模拟已登录状态的初步研究
2016/11/09 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Python守护进程实现过程详解
2020/02/10 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
python中append函数用法讲解
2020/12/11 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
怎么样写好简历中的自我评价
2013/10/25 职场文书
先进工作者事迹材料
2014/12/23 职场文书
部队个人年终总结
2015/03/02 职场文书
资产移交协议书
2016/03/24 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
Javascript中的解构赋值语法详解
2021/04/02 Javascript
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python