JavaScript中的字符串和数组

js中操作字符串和操作数组是差不多的。

以下面的数组为例:

var arr = [‘e‘, ‘c‘, ‘r‘, ‘o‘];
var arrnum = [6, 4, 23, 67];

1、判断是否为数组

if(arr instanceof Array) {
    console.log(true);
}
if(Array.isArray(arr)) { //ECMAScript 5
    console.log(true);
}

2、格式化为字符串

console.log(arr.join(‘,‘));

3、添加删除

arr.push(‘x‘);
console.log(arr); //["e", "c", "r", "o", "x"]
arr.pop();
console.log(arr); //["e", "c", "r", "o"] 

arr.shift();
console.log(arr); //["c", "r", "o"]
arr.unshift(‘d‘);
console.log(arr); //["d", "c", "r", "o"]

4、排序方法

console.log(arr.reverse()); //["o", "r", "c", "d"]
console.log(arr.sort());    //["c", "d", "o", "r"]
console.log(arrnum.sort()); //转换为字符串后比较 [23, 4, 6, 67]
console.log(arrnum.sort(compare)); //[4, 6, 23, 67]
console.log(arrnum.sort(compareEx)); //[4, 6, 23, 67] 

function compare(a, b) {
    if(a < b) {
        return -1;
    } else if(a > b) {
        return 1;
    } else {
        return 0;
    }
}

function compareEx(a, b) {
    return a - b;
}

5、操作方法

var arrnew = arr.concat(‘red‘, [‘ss‘, ‘z‘]);
console.log(arrnew); //["e", "c", "r", "o", "red", "ss", "z"] 
console.log(arr.slice(2));      //["r", "o"]
console.log(arr.slice(1, 3));   // ["c", "r"]
//splice 最强大 返回值为删除的组成的数组 自身改变

console.log(arr.splice(1, 3));  //["c", "r", "o"]
console.log(arr);                    //["e"]

var arr = [‘e‘, ‘c‘, ‘r‘, ‘o‘];
console.log(arr.splice(2, 0, ‘add‘, ‘dd‘)); //[]
console.log(arr); //["e", "c", "add", "dd", "r", "o"] 

var arr = [‘e‘, ‘c‘, ‘r‘, ‘o‘];
console.log(arr.splice(2, 2, ‘ed‘, ‘fr‘)); //["r", "o"]
console.log(arr); //["e", "c", "ed", "fr"] 

6、位置方法 ECMAScript 5

var arr = [‘e‘, ‘c‘, ‘r‘, ‘o‘];
console.log(arr.indexOf(‘t‘)); //-1
console.log(arr.indexOf(‘c‘)); //1
console.log(arr.lastIndexOf(‘c‘)); //1

7、迭代方法 ECMAScript 5

var num = [1, 3, 5, 10, 56, 11];
var r = num.every(function(item, index, array) {
        //所有满足返回true
    return (item % 2 == 0);
});
console.log(r);

r = num.filter(function(item, index, array) {
        //过滤
    return (item % 2 == 0);
});
console.log(r);

r = num.some(function(item, index, array) {
       //一个符合就返回true
    return (item % 2 == 0);
});
console.log(r);

r = num.map(function(item, index, array) {
        //返回新数组
    return (item - 1);
});
console.log(r);

//对每项操作
num.forEach(function(item, index, array) {
    console.log(item);
});

8、缩小方法 ECMAScript 5

//参数:前一项,当前项,序号,数组

var num = [1, 3, 5, 10, 56, 11];
var sum = num.reduce(function(pre, cur, index, array) {
    return pre + cur;
});
console.log(sum);  //86

var sum = num.reduceRight(function(pre, cur, index, array) {
    console.log(pre + ‘ ‘ + cur);
    return pre - cur;
});
console.log(sum); //-64

9、字符串

var name = ‘zjzhome‘;
console.log(name.charAt(1));  //j

console.log(name.substring(1, 3)); //和slice类似 首选slice //jz
console.log(name.substr(3)); //home
console.log(name.substr(1, 3)); //jzh
时间: 2024-10-31 13:53:47

JavaScript中的字符串和数组的相关文章

javascript中获取字符串或数组中元素的索引

有些时候,我们需要知道一个字符串中字符的位置,或者一个数组中元素的位置,这是就需要对该变量进行迭代操作. 对于数组,有两个方法indexOf和findIndex() , 需要注意的是,findIndex是数组的方法,不适用于字符串 1 let arr = ['a' ,'b', 'c'] 2 let idx = arr.findIndex((item) => { 3 return item == 'b' 4 }) 5 console.log(arr.indexOf('c')); // 2 6 co

javascript中对字符串的操作总结

没听过一句话吗?程序员的世界,不处理字符串就是处理数组.这是群里的一位前辈和我说的,显然这和我之前理解的DOM是javascript的核心的不同的,看了几个面试题的内容,感觉前辈说的话非常的有道理,因此总结下,javascript中对字符串的操作. String类型 首先字符串类型是基本类型,但是在这里我们所说的是字符串的对象包装类型.因为只有引用类型才会有属性和方法.实际上每读取一个基本类型的同时都会创建一个对应的基本包装类型,从而让我们能够调用一些方法来操作数据.1.charAt() 和 c

JavaScript中的字符串操作

JavaScript中的字符串操作 一.概述    字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更多....JavaScript的核心部分提供了一组属性和方法用于通用的字符串操作,如分割字符串,改变字符串的大小写,操作子字符串等.    当前的大部分浏览器也能从强大的正则表达式获益,因为它极大地简化了大量的字符串操作任务,不过它也需要你克服一条有些陡峭的学习曲线.在这里,主要是介绍字符串本身的一些操作,正

JavaScript中的常用的数组操作方法

JavaScript中的常用的数组操作方法 一.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2,3]; var arr2 = [4,5]; var arr3 = arr1.concat(arr2); console.log(arr1); //[1, 2, 3] console.log(arr3); //[1, 2, 3, 4, 5] 二.join() join() 方法用于把数组中的所有元素

javascript中去掉字符串前面的0

var str = "00012300325300"; str = str.replace(/\b(0+)/gi,""); // 去掉字符串前面的0 document.write("str=" + str + "</br>"); 上面代码中replace的正则表达式就是去掉字符串前面的0 javascript中去掉字符串前面的0,布布扣,bubuko.com

javascript中json对象json数组json字符串互转及取值

今天用到了json数组和json对象和json类型字符串之间互转及取值,记录一下: 1.json类型的字符串转换为json对象及取值 1 var jsonString = '{"bar":"property","baz":3}'; 2 var jsObject = JSON.parse(jsonString); //转换为json对象 3 alert(jsObject.bar); //取json中的值 2.json对象转为json类型的字符串 v

黑马程序员-OC加强学习日记-Foundation框架中的字符串和数组

------- ios培训. android培训.java培训.期待与您交流! ---------- 一.Foundation框架 1.概念:框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合,以便使研发程序变得更容易. 为所有程序开发奠定基础的框架称为Foundation框架 2.使用:要想使用Foundation框架中的功能,包含它的主文件即可 #import <Foundation/Foundation.h> 二.NSString: 不可变字符串类   一个NSString对象

浅谈JavaScript中的字符串操作

  我想,最为一名开发人员,最实际开发过程中,任何一门语言在开发实际的项目的过程中,都是逃不开字符串的操作的下面笔者就自己日常开发过程中所用到的一些字符串的操作方法做一些陈述和总结,当然,如若读者觉得有不足之处,非常欢迎赐教之!!!   首先是一些字符串的拷贝方法,注意哦,同学,题主所列的都是一些浅拷贝,即不会影响到原数组: 1: slice()           2: substr()             3: substring() 鉴于上面的三个方法都有其共同性,题主就不单独介绍了,

JS中实现字符串和数组的相互转化

早上起来看了一道JS的面试题,是这样描述的:利用var s1=prompt("请输入任意的字符串","")可以获取用户输入 的字符串,试编程将用户输入的字符串"反转",并且将字符串输出. 想了一下,字符串对象的方法中并没有实现反转的,但是数组中有,于是考虑了字符串和数组的相互转换问题. JS中的内置对象中包括字符串对象(String)和数组对象(Array),这两个对象是可以通过它们对象的方法实现相互 转化的.对于String对象,提供了对字符串