JavaScript 数组; 获得一个数组中的最大值; 数组排序; 将数组第一个数据移动到最后一个

let arrNum = [1,2,3,4,5];
arrNum.indexOf(2);    -> 1, 判断数组里是否有'2'这个元素,有返回下标,否则返回-1

let arr=['tom','jerry','king'];
let arr1=['scott','lucy'];
let arr2=['david','jones'];
console.log( arr.toString() );    -> tom,jerry,king, 转字符串
console.log( arr.join('-') );    -> tom-jerry-king, 按字符转字符串
console.log( arr.concat(arr1,arr2) );    -> ['tom','jerry','king','scott','lucy','david','jones'], 拼接数组

arr.slice(start,end)    // 截取数组,start是开始下标(必选),end是结束下标(可选),没有结束下标截取到数组末尾
arr.splice(start,num,val1...valn)    // 添加,删除数组元素(返回选中元素,会修改原数组),start(开始下标),num(要删除的数量,为0不删除),valx(要新加的数组)
arr.unshift();    // 在数组开始位置新加元素(返回数组长度)
arr.shift();     // 删除数组开始位置元素(返回元素)
arr.push();    // 在数组末尾添加元素
arr.pop();     // 删除数组末尾元素(返回删除元素,改变原数组,空数组时返回undefined)

获得一个数组中的最大值

let arr = [1,4,5,3,2]
let num = Math.max.apply(null, arr)
console.log(num)       // 5 

数组排序

// 升序
function sortNumTop (a,b) {
    return a - b
}  
// 降序
function sortNumBottom (a,b) {
    return b - a
}
  
let arr = [4,2,7,8,1];

console.log(arr.sort(sortNumTop));    -> [1, 2, 4, 7, 8]
console.log(arr.sort(sortNumBottom));    -> [8, 7, 4, 2, 1]

 将数组第一个数据移动到最后一个

let arr = [1,2,3,4,5];
arr.push(arr.shift());
console.log(arr);    -> [2, 3, 4, 5, 1]

按数组下标的数值排序

// arr     ---   数组
// index   ---   要排序的数组下标
// order   ---   顺序
function commonArrSort(arr, index, order) {
  if (order == '升序') {
    function compare() {
      return function (a, b) {
        return a[index] - b[index];
      }
    }
    return (arr.sort(compare()));
  } else if (order == '降序') {
    function compare() {
      return function (a, b) {
        return b[index] - a[index];
      }
    }
    return (arr.sort(compare()));
  }
}

let arr = [
    [1,5,3,7,34,12],
    [76,43,45,23,6,5],
    [3,2,8,6,44,3],
];

commonArrSort(arr,0,'升序');   // 按数组0下标排序,顺序为升序
// [     结果
//     [1, 5, 3, 7, 34, 12]
//     [3, 2, 8, 6, 44, 3]
//     [76, 43, 45, 23, 6, 5]
// ]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Web Erek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值