数组类型检测

数组类型检测

  1. 数组类型检测有两种常用的方式,分别是使用instanceof运算符和使用Array.isArray()方法。

    var arr=[];
    var obj={};
    //第一种
    console.log(arr instanceof Array);
    console.log(obj instanceof Array);
    //第二种
    console.log(Array.isArray(arr));
    console.log(Array.isArray(obj));
    
    复制代码
    

    2删除数组元素

    JavaScript数组对象提供了添加或删除元素的方法,可以实现在数组的末尾或开头添加新的数组元 素,或在数组的末尾或开头移出数组元素

    // push
    var arr = ['pink', 'black', 'white', 'yellow']
    console.log(arr.push('red'));
    console.log(arr);
    
    // unshift
    var arr = ['pink', 'black', 'white', 'yellow']
    console.log(arr.unshift('red', 'blue'));
    console.log(arr);
    
    // pop
    var arr = ['pink', 'black', 'white', 'yellow']
    console.log(arr.pop());
    console.log(arr);
    // shift
    var arr = ['pink', 'black', 'white', 'yellow']
    console.log(arr.shift());
    console.log(arr);
    复制代码
    

    3.筛选数组

    var arr = [1500, 1200, 2000, 2100, 1800];
    var newArr = [];
    for (var i = 0; i < arr.length; i++) {
       if (arr[i] < 2000) {
          newArr.push(arr[i]);
        }
    }
    console.log(newArr);
    复制代码
    

    4.数组排序

//反转数组
var arr =['red','green','blue']
arr.reverse();
console.log(arr);
//数组排序
var arrl =[13,4,77,1,7]
arrl.sort(function(a,b){
   return b-a;
  })
  console.log(arrl)
复制代码

5.数组索引

var arr=['red','green','blue','pink','blue'];
console.log(arr.indexOf('blue'));
console.log(arr.lastIndexOf('blue'));

复制代码

6.数组去重

function unique(arr) {
   var newArr = [];
// 遍历数组
   for (var i = 0; i < arr.length; i++) 
        if (newArr.indexOf(arr[i]) === -1) {
             newArr.push(arr[i])
          }
   }
  return newArr;
}
// 调用数组
var res = unique([1, 2, 3, 4, 3, 2])
console.log(res);
复制代码

7.数组转字符串

// toString
var arr = ['a', 'b', 'c']
console.log(arr.toString());// 输出结果为:a,b,c
复制代码

join

1.参数可选:指定一个字符串来分隔数组的每个元素

2.如果需要,将分隔符转换为字符串()小括号里面填写的是指定的分隔符

3如果省略,数组元素用逗号(,)分隔。

4.如果 separator 是空字符串(‘’),则所有元素之间都没有任何字符

// join
console.log(arr.join());// 输出结果为:a,b,c
console.log(arr.join(''));// 输出结果为:abc
console.log(arr.join('-'));// 输出结果为:a-b-c
复制代码

8.其他方法

var arr=['sky','wind','snow','sun'];
//
arr.splice()
console.log(2,2)
//
arr.splice(1,1'snow');
console.log(arr);
//
arr.splice(1,0,'hail','sun');
console.log(arr);
复制代码

1.字符串对象

字符串对象使用new String()来创建,在String构造函数中传入字符串,这样就会在返回的字符串

对象中保存这个字符串。

var str = new String('送你一朵小红花')
console.log(str)
console.log(str.length);//输出结果为:7
// 看不到常见的属性和方法
var str1 = '送你一朵小红花'
console.log(str1)
复制代码

2 .根据字符返回位置

字符串对象提供了用于检索元素的属性和方法,字符串对象的常用属性和方法如下:

!

// indexOf:
var str = new String('送你一朵小红花,送你一朵小红花');

var res = str.indexOf('花');
var res2 = str.indexOf('花', 7);

console.log(str);
console.log(str.length);//7
console.log(res);//输出结果:6
console.log(res2);//输出结果:14

// lastIndexOf:
var str1 = new String('to be or not to be');
var res1 = str1.lastIndexOf('e');
var res3 = str1.lastIndexOf('e', 8);

console.log(str1);
console.log(str1.length);//15
console.log(res1);//输出结果:17
console.log(res3);//输出结果:4
复制代码

3,根据位置返回字符

var str = 'andy';
console.log(str.charAt(0));//输出的结果为;a
// 
console.log(str.charCodeAt(0));//输出结果为:97(a的ASCII码是97)
for (var i = 0; i < str.length; i++) {
//
console.log(str[i]);

}
复制代码

4 案例:统计出现最多的字符和次数

for (var i = 0; i < str.length; i++) {
   var chars = str.charAt(i);
   console.log(chars);
   if (obj[chars] != true) {//如果没有获取到当前字符串,值为undefined(转为布尔值为
false)
      obj[chars] = 1;//给当前对象的属性对应的属性值赋值为1
    } else {
           obj[chars]++; //如果获取到了当前字符串,即对应的属性值+1
    }
}
console.log(obj);
// 2. 统计出现最多的字母
var max = 0; // 保存出现次数最大值
var maxStr = ''; // 保存出现次数最多的字符
// 2.1 遍历对象的属性和方法
for (var key in obj) {
  if (obj[key] > max) {
     max = obj[key];
     maxStr = key
  }
}
console.log('出现最多的字符是:' + maxStr + ' ,共出现了' + max + '次')
复制代码

5 字符串操作方法

var str = 'HelloWord';
// concat
var res = str.concat('!!');
console.log(res);//HelloWord!!
// slice
var res1 = str.slice(1, 5);
console.log(res1); //ello
// substring
var res2 = str.substring(3);//截取从下标为3开始,之后的内容
console.log(res2);//loWord
var res3 = str.substring(3, 7);//截取从下标为3开始,到7结束的内容(不包含7)
console.log(res3);//loWo
// substr
var res4 = str.substr(2, 5);
console.log(res4);//lloWo
// toLowerCase
var res5 = str.toLocaleLowerCase();
console.log(res5);//helloword
// toUpperCase
var res6 = str.toLocaleUpperCase();
console.log(res6);//HELLOWORD
// split
var str1 = 'How are you doing today?'
var res7 = str1.split(' ');
console.log(res7);// ['How', 'are', 'you', 'doing', 'today?']
var res8 = str1.split();
console.log(res8);//['How are you doing today?']
var res9 = str1.split(' ', 3);
console.log(res9);// ['How', 'are', 'you']
// replace
var res10 = str1.replace(' ', ',');
console.log(res10);//How,are you doing today?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值