Javascript(二)

字符串

属性和方法

获取长度:S.length;

获取字符串对应位置的字符值:S[index]; / S.charAt(index);

全部大写:S.toUpperCase();

全部小写:S.toLowerCase();

搜索字符字串出现的位置:S.indexOf("s");

返回指定区间的子串:

S.subString(start, end); 从索引为start(数字)开始到end(以大数作为end)

S.substr(start, length); 从索引为start(数字)开始length个字符

eg:

S = "Hello Xherlock!";
console.log(S.substring(2, 5));
console.log(S.substr(2, 5));
// 输出结果
// llo
// llo X

slice和subString很相似,只是在传入参数为负数时有所区分

substring传入负数自动变为0,而slice截取总长度+该负数

拼接字符串:S.concat(S1);

字符串分割:S.split("") // 每个字符分割

S = "Hello Xherlock!";
console.log(S.split(""));
// 输出
/* [
  'H', 'e', 'l', 'l',
  'o', ' ', 'X', 'h',
  'e', 'r', 'l', 'o',
  'c', 'k', '!'
] 
*/

替换字符串:S.replace(old, new);

数组

创建

var arr=[1,"hello","Xherlock"];

arr = new Array(1,"hello","Xherlock");

属性和方法

arr.length; 获取数组长度

arr[index];

arr.indexOf(~); arr.lastIndexOf();

arr.slice(start, end); 返回索引为start到end(不包含end)的数组元素

arr.push() 接收变量并逐个加入数组末尾

arr.pop() 移除数组最后一个元素,长度减一

arr.unshift() 将参数传入数组开头,并返回数组长度

arr.shift() 删除数组第一项元素,并返回第一个元素值

arr.sort() 排序,自动将所有元素转为字符串,从头进行比较排序

arr.splice(start, end, ele1, ……elen);

删除:传入2个参数,第一个时删除位置,第二个为删除项数

插入:传入任意项参数,第一个为起始位置,其余为插入的项

替换:传入任意项参数,第一个为起始位置,第二个为要替换的项数,其余为被替换成的内容

arr.concat(); 组合,传入参数作为元素添加到数组中

arr.join("连接符"); 将数组元素用连接符连接成字符串

arr.reverse(); 反转数组元素顺序

arr.foreach(函数); 遍历循环数组,函数参数有遍历的数组内容、对应数组索引、数组本身

eg:

var arr = [1113, "Xherlock", "hello", 2021, "hello"];
arr.forEach(function(x, index){
    console.log(index+" "+x);
});
/* 
0 1113
1 xherlock
2 hello
3 2021
4 hello
*/

arr.map(函数); 映射,对数组中每一项运行给定的函数,返回结果数组

eg:全部大写

var arr = [1113, "Xherlock", "hello", 2021, "hello"];
var arr1 = arr.map(function(value){
    return value.toString().toUpperCase();
});
console.log(arr1);
// [ '1113', 'XHERLOCK', 'HELLO', '2021', 'HELLO' ]

arr.filter(函数); 过滤功能

eg:除去数字

var arr = [1113, "Xherlock", "hello", 2021, "hello"];
var arr2 = arr.filter(function(value){
    if(isNaN(value))    // isNaN不是数字则返回true
        return value; 
});
console.log(arr2);
// [ 'Xherlock', 'hello', 'hello' ]

arr.every(函数); 判断数组中每一项均满足条件才返回ture

eg:判断是否均为字符串

var arr = [1113, "Xherlock", "hello", 2021, "hello"];
var arr2 = [ 'Xherlock', 'hello', 'hello' ];
function isSting(value){
    return isNaN(value);
}    // 判断是否均为字符串
var arr3 = arr2.every(isSting);
console.log(arr3);
var arr4 = arr.every(isSting);
console.log(arr4);

arr.some(函数); 判断数组中是否存在满足条件的项,只要有一项满足就会返回true

eg:同上

var arr = [1113, "Xherlock", "hello", 2021, "hello"];
function isSomeString(value){
    return isNaN(value);
}
var arr5 = arr.some(isSomeString);
console.log(arr5);
var arr6 = [1, 2, 3];
console.log(arr6.some(isSomeString));

arr.reduce(函数); 首先从数组中取出前两个元素,按照reduce中的函数进行计算,所得结果和下一个继续按照该函数计算,直到最后一个设置的元素,返回最终结果

arr.reduceRight(函数); 和reduce顺序相反

eg:求乘积

var arr7 = [2, 45, 4];
result = arr7.reduce(function(pre, cur){
    return pre*cur;
})
console.log(result);

对象

对象名.属性名; / 对象名[属性名];

判断是否存在某一属性:"属性" in 对象; / 对象.hasOwnProperty("属性");

最后修改:2021 年 11 月 14 日
如果觉得我的文章对你有用,请随意赞赏