JS数组方法join()用法实例分析


Posted in Javascript onJanuary 18, 2020

本文实例讲述了JS数组方法join()用法。分享给大家供大家参考,具体如下:

join()方法

  1. 定义和用法:
    join() 方法用于把数组中的所有元素放入一个字符串。
    元素是通过指定的分隔符进行分隔的。
  2. 语法:arrayObject.join(separator)
  3. 参数:可选,指定要使用的分隔符。
    注:不给join()方法传入任何值,或者给它传入undefined,则使用逗号作为分隔符。
    IE7及更早版本会错误的使用字符串“undefined”作为分隔符。
    数组中的某一项是null或undefined,那么该值在join()、toLocaleString()、toString()和valueOf()方法返回的结果中以空字符串表示。
  4. 返回值:
    返回包含所有数组项的字符串。

代码如下:

Array.prototype.copyJoin = function() {
  var string = '';
  for(var i = 0; i < this.length; i++) {
    // 将数组中各项值为null 或undefined的项改为空字符串。
    if(this[i] == null || this[i] == undefined) {
      this[i] = '';
    }
    // 对数组进行操作
    if(arguments.length == 1 && arguments[0] != undefined) { //指定使用的分隔符
      string += (i < this.length - 1) ? this[i] + arguments[0] : this[i];
    }
    else { // 默认使用的分隔符————逗号
      // if(i < this.length - 1) {
      //   string += this[i] + ',';
      // }
      // else {
      //   string += this[i];
      // }
      string += (i < this.length - 1) ? this[i] + ',' : this[i];
    }
  }
  return string;
}
// 不传任何值或者传入undefined
var arr = [1, 2, 3, 4, 5, 6];
console.log(arr.copyJoin()); // 1,2,3,4,5,6
console.log(arr.copyJoin().length); // 11
console.log(arr.copyJoin(undefined)); // 1,2,3,4,5,6
console.log(arr.copyJoin(undefined).length); // 11
// 传入参数
console.log(arr.copyJoin('||')); // 1||2||3||4||5||6
console.log(arr.copyJoin('||').length);  // 16
// 数组中的某一项是null或undefined
var arr2 = [1, undefined, 2, undefined, 3, 4, 5, 6, 7, null, 8, null, 9];
console.log(arr2.copyJoin()); // 1,,2,,3,4,5,6,7,,8,,9
console.log(arr2.copyJoin().length); // 21
console.log(arr2.copyJoin(undefined)); // 1,,2,,3,4,5,6,7,,8,,9
console.log(arr2.copyJoin(undefined).length); // 21

运行结果:

JS数组方法join()用法实例分析

以上在IE8+ join()方法一样,但是在IE7及更早版本(copyJoin()方法不存在):

arr.join(undefined)); // 1undefined2undefined3undefined4undefined5undefined6
arr.join(undefined).length); // 51
arr2.join(undefined)); // 1undefinedundefined2undefinedundefined3undefined4undefined5undefined6undefined7undefinedundefined8undefinedundefined9
arr2.join(undefined).length); // 117

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JS中数组Array的用法示例介绍
Feb 20 Javascript
JS的数组迭代方法
Feb 05 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
Apr 01 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
Sep 08 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
Jun 20 Javascript
layui框架中layer父子页面交互的方法分析
Nov 15 Javascript
webpack中使用iconfont字体图标的方法
Feb 22 Javascript
JavaScript函数式编程(Functional Programming)声明式与命令式实例分析
May 21 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
Sep 21 Javascript
手把手带你入门微信小程序新框架Kbone的使用
Feb 25 Javascript
vue 页面回退mounted函数不执行的解决方案
Jul 26 Javascript
js+canvas实现刮刮奖功能
Sep 13 Javascript
JavaScript进制转换实现方法解析
Jan 18 #Javascript
js滚轮事件 js自定义滚动条的实现
Jan 18 #Javascript
vue实现扫码功能
Jan 17 #Javascript
js实现轮播图效果 z-index实现轮播图
Jan 17 #Javascript
js键盘事件实现人物的行走
Jan 17 #Javascript
javascript实现简易的计算器
Jan 17 #Javascript
JavaScript简易计算器制作
Jan 17 #Javascript
You might like
拼音码表的生成
2006/10/09 PHP
PHP查询MySQL大量数据的时候内存占用分析
2011/07/22 PHP
PHP中其实也可以用方法链
2011/11/10 PHP
PHP引用符&amp;的用法详细解析
2013/08/22 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
javascript 面向对象 function类
2010/05/13 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
详细探究ES6之Proxy代理
2016/07/22 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
Node 搭建一个静态资源服务器的实现
2019/05/20 Javascript
Vue+ElementUI项目使用webpack输出MPA的方法
2019/08/27 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
浅析JS中NEW的实现原理及重写
2020/02/20 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
[02:07]2018DOTA2亚洲邀请赛主赛事第三日五佳镜头 fy极限反杀
2018/04/06 DOTA
Eclipse + Python 的安装与配置流程
2013/03/05 Python
python备份文件以及mysql数据库的脚本代码
2013/06/10 Python
Python书单 不将就
2017/07/11 Python
python读取excel表格生成erlang数据
2017/08/26 Python
python os.path模块常用方法实例详解
2018/09/16 Python
python利用dlib获取人脸的68个landmark
2019/11/27 Python
Python实现捕获异常发生的文件和具体行数
2020/04/25 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
日本最大的药妆连锁店:Matsukiyo松本清药妆店
2017/11/23 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
2014中考励志标语
2014/06/05 职场文书
2014年车间主任工作总结
2014/12/10 职场文书
碧霞祠导游词
2015/02/09 职场文书
学校体育节班级口号
2015/12/25 职场文书
2019辞职报告范本3篇!
2019/07/23 职场文书
解析python中的jsonpath 提取器
2022/01/18 Python
Mysql多层子查询示例代码(收藏夹案例)
2022/03/31 MySQL