JS常用操作方法(基础版)

1.String

使用 String 函数将其他值生成或转换成字符串:

String(thing)
new String(thing)
//参数
//thing
//任何可以被转换成字符串的值。

从字符串中获取单个字符:

//法1:
return 'cat'.charAt(1); // returns "a"
//法2:
return 'cat'[1]; // returns "a"

2.String.prototype.split() 分割字符串为字符串数组

split() 方法使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置。
语法:

str.split([separator[, limit]])
//Tip: 如果空字符串("")被用作分隔符,则字符串会在每个字符之间分割。

参数:
separator
指定表示每个拆分应发生的点的字符串。separator 可以是一个字符串或正则表达式。 如果纯文本分隔符包含多个字符,则必须找到整个字符串来表示分割点。如果在str中省略或不出现分隔符,则返回的数组包含一个由整个字符串组成的元素。如果分隔符为空字符串,则将str原字符串中每个字符的数组形式返回。
limit
一个整数,限定返回的分割片段数量。当提供此参数时,split 方法会在指定分隔符的每次出现时分割该字符串,但在限制条目已放入数组时停止。如果在达到指定限制之前达到字符串的末尾,它可能仍然包含少于限制的条目。新数组中不返回剩下的文本。
一个简单的示例:

"Webkit Moz O ms Khtml".split( " " )   // ["Webkit", "Moz", "O", "ms", "Khtml"]

3.Array.prototype.reverse() 反转数组

reverse() 方法将数组中元素的位置颠倒。
第一个数组元素成为最后一个数组元素,最后一个数组元素成为第一个。
语法:

arr.reverse()
//reverse 方法颠倒数组中元素的位置,并返回该数组的引用。

一个简单的示例:

var myArray = ['one', 'two', 'three'];
myArray.reverse(); 

console.log(myArray) // ['three', 'two', 'one']

4.Array.prototype.join()将字符数组连接为字数串

join() 方法将数组(或一个类数组对象)的所有元素连接到一个字符串中。

let a = ['Wind', 'Rain', 'Fire'];

a.join(); 
// 默认为 ","
// 'Wind,Rain,Fire'

a.join(""); 
// 分隔符 === 空字符串 ""
// "WindRainFire"

a.join("-"); 
// 分隔符 "-"
// 'Wind-Rain-Fire'

console.log(a);
// ['Wind', 'Rain', 'Fire']
//PS: join() 方法,不会改变数组!

5.String.prototype.replace()替换字符串的某些值

replace() 方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式, 替换值可以是一个字符串或者一个每次匹配都要调用的函数。
语法:

//注意:原字符串不会改变。
str.replace(regexp|substr, newSubStr|function)

参数:
regexp (pattern)
一个RegExp 对象或者其字面量。该正则所匹配的内容会被第二个参数的返回值替换掉。
substr (pattern)
一个要被 newSubStr 替换的字符串。其被视为一整个字符串,而不是一个正则表达式。仅仅是第一个匹配会被替换。
newSubStr (replacement)
用于替换掉第一个参数在原字符串中的匹配部分的字符串。该字符串中可以内插一些特殊的变量名。参考下面的使用字符串作为参数。
function (replacement)
一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。参考下面的指定一个函数作为参数。
返回值:
一个部分或全部匹配由替代模式所取代的新的字符串。
一个简单的示例:

var str = 'Twas the night before Xmas...';
var newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...

6. String.prototype.toLowerCase()将字符串转为小写形式

toLowerCase() 会将调用该方法的字符串值转为小写形式,并返回。

str.toLowerCase()

7.String.prototype.substr()截取特定位置字符串

substr() 方法返回一个字符串中从指定位置开始到指定字符数的字符。
语法:

str.substr(start[, length])

参数:
start
开始提取字符的位置。如果为负值,则被看作 strLength + start,其中 strLength 为字符串的长度(例如,如果 start 为 -3,则被看作 strLength + (-3))。
length
可选。提取的字符数。
一个简单的示例:

var str = "abcdefghij";

console.log("(1,2): "    + str.substr(1,2));   // (1,2): bc
console.log("(-3,2): "   + str.substr(-3,2));  // (-3,2): hi
console.log("(-3): "     + str.substr(-3));    // (-3): hij
console.log("(1): "      + str.substr(1));     // (1): bcdefghij
console.log("(-20, 2): " + str.substr(-20,2)); // (-20, 2): ab
console.log("(20, 2): "  + str.substr(20,2));  // (20, 2):

8.String.prototype.slice()提取字符串的一部分

slice() 方法提取一个字符串的一部分,并返回一新的字符串。
语法:

str.slice(beginSlice[, endSlice])

参数:
beginSlice
从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做 sourceLength + beginSlice 看待,这里的sourceLength 是字符串的长度 (例如, 如果beginSlice 是 -3 则看作是: sourceLength - 3)
endSlice
可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,slice会一直提取到字符串末尾。如果该参数为负数,则被看作是 sourceLength + endSlice,这里的 sourceLength 就是字符串的长度(例如,如果 endSlice 是 -3,则是, sourceLength - 3)。
一个简单的示例:

var str1 = 'The morning is upon us.';
var str2 = str1.slice(4, -2);
console.log(str2); // OUTPUT: morning is upon u

9.Array.prototype.push()将一个元素添加到数组的末尾

push() 方法将一个或多个元素添加到数组的末尾,并返回新数组的长度。
语法:

arr.push(element1, ..., elementN)

参数:
elementN
被添加到数组末尾的元素。
返回值:
当调用该方法时,新的 length 属性值将被返回。
一个简单的示例:

var numbers = [1, 2, 3];
numbers.push(4);
console.log(numbers); 
// [1, 2, 3, 4]
numbers.push(5, 6, 7);
console.log(numbers); 
// [1, 2, 3, 4, 5, 6, 7]

10.String.prototype.indexOf() 寻找指定值索引

indexOf() 方法返回调用 String 对象中第一次出现的指定值的索引,开始在 fromIndex进行搜索。

如果未找到该值,则返回-1。
语法:

str.indexOf(searchValue[, fromIndex])

参数:
searchValue
一个字符串表示被查找的值。
fromIndex 可选
表示调用该方法的字符串中开始查找的位置。可以是任意整数。默认值为 0。如果 fromIndex < 0 则查找整个字符串(如同传进了 0)。如果 fromIndex >= str.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 str.length。
返回值:
指定值的第一次出现的索引; 如果没有找到 -1。
一个简单的示例:

"Blue Whale".indexOf("Blue");     // returns  0
"Blue Whale".indexOf("Blute");    // returns -1
"Blue Whale".indexOf("Whale", 0); // returns  5
"Blue Whale".indexOf("Whale", 5); // returns  5
"Blue Whale".indexOf("", 9);      // returns  9
"Blue Whale".indexOf("", 10);     // returns 10
"Blue Whale".indexOf("", 11);     // returns 10

11.Array.prototype.filter()过滤不需要的字符

filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。

语法:

var new_array = arr.filter(callback[, thisArg])

参数:
callback
用来测试数组的每个元素的函数。调用时使用参数 (element, index, array)。
返回true表示保留该元素(通过测试),false则不保留。
thisArg
可选。执行 callback 时的用于 this 的值。
返回值:
一个新的通过测试的元素的集合的数组
一个简单的示例:

function isBigEnough(value) {
  return value >= 10;
}

var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);

// filtered is [12, 130, 44]

// ES6 way

const isBigEnough = value => value >= 10;

let [...spread]= [12, 5, 8, 130, 44];

let filtered = spread.filter(isBigEnough);

// filtered is [12, 130, 44]

12.Arguments 对象

arguments 是一个对应于传递给函数的参数的类数组对象。
语法:

arguments

一个简单的例子:
这个例子定义了一个函数来连接字符串。这个函数唯一正式声明了的参数是一个字符串,该参数指定一个字符作为衔接点来连接字符串。该函数定义如下:

function myConcat(separator) {
  var args = Array.prototype.slice.call(arguments, 1);
  return args.join(separator);
}

你可以传递任意数量的参数到该函数,并使用每个参数作为列表中的项创建列表。

// returns "red, orange, blue"
myConcat(", ", "red", "orange", "blue");

// returns "elephant; giraffe; lion; cheetah"
myConcat("; ", "elephant", "giraffe", "lion", "cheetah");

// returns "sage. basil. oregano. pepper. parsley"
myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");

如果一个函数传递了三个参数,你可以以如下方式引用他们:

arguments[0]
arguments[1]
arguments[2]

//参数也可以被设置:

arguments[1] = 'new value';

13.Array.prototype.sort()对数组元素进行排序

sort() 方法在适当的位置对数组的元素进行排序,并返回数组。 sort 排序不一定是稳定的。默认排序顺序是根据字符串Unicode码点。

var fruit = ['cherries', 'apples', 'bananas'];
fruit.sort(); 
// ['apples', 'bananas', 'cherries']

var scores = [1, 10, 21, 2]; 
scores.sort(); 
// [1, 10, 2, 21]
// 注意102之前,
// 因为在 Unicode 指针顺序中"10""2"之前

var things = ['word', 'Word', '1 Word', '2 Words'];
things.sort(); 
// ['1 Word', '2 Words', 'Word', 'word']
// 在Unicode中, 数字在大写字母之前,
// 大写字母在小写字母之前.

语法:

arr.sort() 

arr.sort(compareFunction)

参数:
compareFunction
可选。用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的诸个字符的Unicode位点进行排序。
sort 方法可以使用 函数表达式 方便地书写:

var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
  return a - b;
});
console.log(numbers);

// [1, 2, 3, 4, 5]

14. String.prototype.charCodeAt()

charCodeAt() 方法返回0到65535之间的整数,表示给定索引处的UTF-16代码单元。如果你想要整个代码点的值,使用 codePointAt()。
语法:

str.charCodeAt(index)

参数:
index
一个大于等于 0,小于字符串长度的整数。如果不是一个数值,则默认为 0。
返回值:
返回值是一表示给定索引处(String中index索引处)字符的 UTF-16 代码单元值的数字;如果索引超出范围,则返回 NaN。
一个简单的示例:

"ABC".charCodeAt(0) // returns 65:"A"

"ABC".charCodeAt(1) // returns 66:"B"

"ABC".charCodeAt(2) // returns 67:"C"

"ABC".charCodeAt(3) // returns NaN

15.String.fromCharCode()

静态 String.fromCharCode() 方法返回使用指定的Unicode值序列创建的字符串。
语法:

String.fromCharCode(num1, ..., numN) 

参数:
num1, …, numN
一组序列数字,表示 Unicode 值。
一个简单的示例:
下例返回字符串 “ABC”:

String.fromCharCode(65,66,67)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

dying 搁浅

两杯酒,一杯敬你余生多欢喜。

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

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

打赏作者

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

抵扣说明:

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

余额充值