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 相关文章推荐
jQuery EasyUI 开源插件套装 完全替代ExtJS
Mar 24 Javascript
javascript 函数调用的对象和方法
Jul 01 Javascript
javascript自启动函数的问题探讨
Oct 05 Javascript
node模块机制与异步处理详解
Mar 13 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
May 25 Javascript
AngularJS基础 ng-mouseover 指令简单示例
Aug 02 Javascript
使用JavaScript获取URL中的参数(两种方法)
Nov 16 Javascript
设置cookie指定时间失效(实例代码)
May 28 Javascript
vue项目实战总结篇
Feb 11 Javascript
layui下拉框获取下拉值(select)的例子
Sep 10 Javascript
JQuery中的常用事件、对象属性与使用方法分析
Dec 23 jQuery
深入浅析vue全局环境变量和模式
Apr 28 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
双料怀旧--SHARP GF515的维护、修理和简单调试
2021/03/02 无线电
认识并使用PHP超级全局变量
2010/01/26 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
php web环境和命令行环境下查找php.ini的位置
2019/07/17 PHP
PHP执行linux命令6个函数代码实例
2020/11/24 PHP
xss文件页面内容读取(解决)
2010/11/28 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
js实现温度计时间样式代码分享
2015/08/21 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
javascript实现表单验证
2016/01/29 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
基于Vue如何封装分页组件
2016/12/16 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
JavaScript队列函数和异步执行详解
2017/06/19 Javascript
jQuery实现的简单动态添加、删除表格功能示例
2017/09/21 jQuery
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
微信小程序如何获取用户头像和昵称
2019/09/23 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
Python实现常见的回文字符串算法
2018/11/14 Python
django API 中接口的互相调用实例
2020/04/01 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
详解Pycharm安装及Django安装配置指南
2020/09/15 Python
浅析几个CSS3常用功能的写法
2014/06/05 HTML / CSS
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
2019年Java 最常见的 面试题
2016/10/19 面试题
预备党员转正思想汇报
2014/01/12 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
网络管理专业求职信
2014/03/15 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis