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 相关文章推荐
用正则xmlHttp实现的偷(转)
Jan 22 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
Jan 23 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
Jan 24 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
May 10 Javascript
js实现div模拟模态对话框展现URL内容
May 27 Javascript
javascript简单实现等比例缩小图片的方法
Jul 27 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 Javascript
js实现右键菜单功能
Nov 28 Javascript
微信小程序表单验证错误提示效果
May 19 Javascript
JS库之Waypoints的用法详解
Sep 13 Javascript
解决JSON.stringify()自动将中文转译成unicode的问题
Jan 05 Javascript
如何使用puppet替换文件中的string
Dec 06 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
星际实力自我测试
2020/03/04 星际争霸
php feof用来识别文件末尾字符的方法
2010/08/01 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
2016/12/19 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
JS对话框_JS模态对话框showModalDialog用法总结
2014/01/11 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
vue中eventbus被多次触发以及踩过的坑
2017/12/02 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
简单文件操作python 修改文件指定行的方法
2013/05/15 Python
简单介绍Python中的try和finally和with方法
2015/05/05 Python
win与linux系统中python requests 安装
2016/12/04 Python
Python中标准模块importlib详解
2017/04/16 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
python中文编码与json中文输出问题详解
2018/08/24 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
python实现宿舍管理系统
2019/11/22 Python
python logging添加filter教程
2019/12/24 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
高山背包:High Sierra
2017/11/23 全球购物
中学生学雷锋活动心得体会
2014/03/10 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
银行授权委托书格式
2014/10/10 职场文书
幼儿园大班教学反思
2016/03/02 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书