数组常用方法

1.数组转字符串

//不改变数组
var week = ['monday', 'tuesday', 'friday', 'sunday', 'friday']
console.log('转换为字符串', String(week))

2.将数组元素放入一个字符串

// 同样的不改变原数组
var arr=[1,2,3];
var str=arr.join();//默认是逗号,也可以自定义连接符
console.log(str); //1,2,3
console.log(arr); //[1,2,3]

3.数组拼接(concat)

//
// 数组拼接
    // 不改变原数组
    var arrNum = [1, 2, 3]
    var newArr = arrNum.concat(4, [5, 6])
    console.log('新数组', newArr) // 123456
    console.log('原数组', arrNum) // 123

4.数组选取slice

// slice 截取数组
    /*  slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 
     决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变 */
     var numbers = [4, 9, 16, 25]
    console.log('截取', numbers.slice(0, 2)) // 4,9

5.返回某个指定的字符串值在字符串中首次出现的位置(indexOf),最后出现的位置(lastIndexOf)

   // indexOf获取位置
    // 返回数组中可以找到一个给定元素的第一个索引值,
    // 如果不存在,返回-1
    var week = ['monday', 'tuesday', 'friday', 'sunday', 'friday']
    console.log(week.indexOf('saturday')) //-1
    console.log(week.indexOf('friday')) //2
    console.log(week.lastIndexOf('friday')) //4

6.遍历数组

 var arr = new Array()
    arr = [1, 2, 3, 4, 5]
    // console.log(arr)
    // 遍历数组元素
    // item当前元素
    // index当前元素索引
    arr.forEach((item, index) => {
      console.log(item, index)
    })

7.every,some

var arr = new Array()
    arr = [1, 2, 3, 4, 5]
    function check(num) {
      return num > 1
    }
    // 用来判断所有数组元素 都满足一个条件,返回true或false
    // every() 不会对空数组进行检测。
    // every() 不会改变原始数组。
    console.log(arr.every(check)) // false
    // some() 不会对空数组进行检测。
    // some() 不会改变原始数组。
    // 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
    // 如果没有满足条件的元素,则返回false。
    console.log(arr.some(check)) // true

8.sort排序

  // sort()
    // 对数组的元素进行排序,并返回数组
    // 会改变数组
    arr.sort((a, b) => a - b)
    console.log('排序正序', arr)
    arr.sort((a, b) => b - a)
    console.log('排序倒序', arr)

9.map该方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值

// map() 方法按照原始数组元素顺序依次处理元素。
    // map() 不会对空数组进行检测。
    // map() 不会改变原始数组。
    // Math.sqrt返回一个正平方根
    var numbers = [4, 9, 16, 25]
    console.log('开平方', numbers.map(Math.sqrt))

10.filter过滤

  // filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
    // filter() 不会对空数组进行检测。
    // 注意: filter() 不会改变原始数组
    // array.filter(function(currentValue,index,arr), thisValue)
    var numbers = [4, 9, 16, 25]
    function chooseNum(num) {
      return num <= 9
    }
    console.log('过滤', numbers.filter(chooseNum))

11.splice添加删除数组元素

// 改变原数组
    // splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,
    // 并以数组形式返回被修改的内容。
    var aryNum = [1, 2, 3]
    var newArr1 = arrNum.splice(0, 2)
    var newArr2 = arrNum.splice(0, 1)
    console.log('first', newArr1) //1,2
    console.log('second', newArr2) // 1
    console.log('final', arrNum) // []

12.reverse翻转数组

 // 会改变原数组
    var aryNum1 = [1, 2, 3]
    var newOne = aryNum1.reverse()
    console.log('反转后的数组', newOne)

13.push向数组末尾添加一个或多个元素,并返回新的长度

// 会改变原数组
var aryNum1 = [1, 2, 3]
 var arrThree = aryNum1.push(4)
    console.log('新数组的长度', arrThree)
    console.log('添加元素后的数组', aryNum1)

14.pop删除并返回最后一个元素值

// 会改变原数组
 var arrNum2 = [1, 2, 3]
    var newTwo = arrNum2.pop()
    console.log('被删掉的最后一个元素', newTwo)
    console.log('改变后的数组', arrNum2)

15.shift删除并返回第一个元素值

 // 删除并返回第一个元素值
 // 会改变原数组
    var arrNum3 = [1, 2, 3]
    var newFour = arrNum3.shift()
    console.log('被删掉的第一个元素', newFour)
    console.log('改变的数组', arrNum3)

16.unshift向数组开头添加一个或多个元素

// 改变数组
var arrNum4 = [1, 2, 3]
    var newFive = arrNum4.unshift(0)
    console.log('头添加后的长度', newFive)
    console.log('改变的数组', arrNum4)

17.reduce()接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值

//array.reduce(function(total,currentValue,currentIndex,arr),initialValue)
    // total初始值
    // currentValue当前元素
    // 当前元素索引 currentValue
    // arr当前元素所属数组对象
    // initialValue初始值
    // 数组的reduce方法
    var Numbers = [1, 6, 9, 15]

    function getSum(total, num) {
      return total + num
    }
    console.log(Numbers.reduce(getSum, 0)) //getsum+0
    console.log(Numbers.reduce(getSum, 1)) //getsum+1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值