js笔记二十之Array数组的查询,拼接,转字符串,排列(序)

数组查询

  • slice

数组的查询
参数: slice(n,m) 从索引n开始找到索引m处(不包含m)
返回值: 把找到的部分以一个新数组返回
原来数组不变

  1. slice(n) 从索引n找到末尾
  2. slice(0)或slice() 数组克隆,克隆一份和原来数组一模一样的新数组
  3. slice()支持负数索引,如果传递的索引为负数,浏览器解析的时候按照 总长度+负数索引来处理的
var ary = [12,23,34,45,56,67,78,89,90];
var ary1 = ary.slice(3,8)
console.log(ary) // -> [12, 23, 34, 45, 56, 67, 78, 89, 90]
console.log(ary1) // -> [45, 56, 67, 78, 89]

数组拼接

  • concat

将多个数组拼接在一起
参数: 要拼接的内容(把要拼接的数组放在原数组后面),可以是一个数组,也可以是一些数据值
返回值: 拼接后的新数组
原数组不改变
concat() 什么都不拼接相当于把 原数组克隆一个一模一样的新数组

var ary = [12,23,34]
ary.concat([45,56],'lilei') // -> [12, 23, 34, 45, 56, "lilei"]
console.log(ary) // -> [12, 23, 34]

数组转换为字符串

  • toString

把数组转换为字符串(转换后的字符串以逗号分隔每一项)
参数: 无
返回值: 转换的字符串
原有数组不变

var ary = [12,23,34];
ary.toString() // -> "12,23,34"
console.log(ary) // -> [12, 23, 34]
  • join

把数组按照指定的分割符转换为字符串,和字符串中的split相对应
参数: 指定的连接符
返回值: 连接后的字符串
原数组不变

var ary = [12,23,34];
ary.join(" ") // -> "12 23 34"
ary.join("+") // -> "12+23+34"
console.log(ary) // -> [12,23,34]
// 一直数组中的每一项, 想实现数组求和
// 1. 利用循环
var total = 0;
for(var i=0;i<ary.length;i++){
    total += ary[i]
}

// 2. 利用join
var total = eval(ary.join('+')); // -> 把字符串变为js表达式执行

实现数组中的每一项的排序和排列

  • reverse

把数组中的每一项倒过来排列
参数: 无
返回值: 排列后的新数组
原来数组改变

var ary = [1,23,2,34,21];
ary.reverse();  // -> [21, 34, 2, 23, 1]
console.log(ary) // -> [21, 34, 2, 23, 1]
  • sort

实现数组的排序
参数: 无或者回调函数
返回值: 排序后的数组
原有数组改变

不传参数的情况下,可以给10以内的数字进行升序排列, 但是超过10的就无法处理了(多位数只识别第一位)

var ary = [1,23,2,34,21];
ary.sort();  // -> [1, 2, 21, 23, 34]
console.log(ary) // -> [1, 2, 21, 23, 34]

var ary = [1,23,2,34,21,12];
ary.sort();  // -> [1, 12, 2, 21, 23, 34]  
// -> 12 排在了2的前面,说明sort并不是按数字大小排序,而是只看数字第一位
console.log(ary) // -> [1, 12, 2, 21, 23, 34]

// -> 从小到大排序
var ary = [1,23,2,34,21,12];
ary.sort(function(a,b){return a-b});  // -> [1, 2, 12, 21, 23, 34]
// -> 12 排在了2的前面,说明sort并不是按数字大小排序,而是只看数字第一位
console.log(ary) // -> [1, 2, 12, 21, 23, 34]

// -> 从大到小排序
var ary = [1,23,2,34,21,12];
ary.sort(function(a,b){return b-a});  // -> [34, 23, 21, 12, 2, 1]
// -> 12 排在了2的前面,说明sort并不是按数字大小排序,而是只看数字第一位
console.log(ary) // -> [34, 23, 21, 12, 2, 1]
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,784评论 0赞 4
  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 3,487评论 0赞 7
  •   引用类型的值(对象)是引用类型的一个实例。   在 ECMAscript 中,引用类型是一种数据结构,用于将数...
    霜天晓阅读 1,279评论 0赞 1
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,694评论 0赞 13
  • 最近几年,年年今日皆有人约新年音乐会。谢谢2016之静娴。谢谢理想(音)童鞋,以粥客之实属无奈,非彼之无奈,乃汝之...
    世界污脊阅读 222评论 0赞 0

友情链接更多精彩内容