String.indexOf
查找字符串中的字符串,返回字符串中指定文本首次出现的索引(位置):
var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China"); //17
String.slice
slice() 提取字符串的某个部分并在新字符串中返回被提取的部分。该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。这个例子裁剪字符串中位置 7 到位置 13 的片段:
var str = "Apple, Banana, Mango";
var res = str.slice(7,13);//Banana
如果某个参数为负,则从字符串的结尾开始计数。这个例子裁剪字符串中位置 -12 到位置 -6 的片段:
var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);//Banana
String.replace(string, string)
replace() 方法不会改变调用它的字符串。它返回的是新字符串。默认地,replace() 只替换首个匹配:
str = "Please visit Microsoft and Microsoft!";
var n = str.replace("Microsoft", "W3School");//Please visit W3School and Microsoft!
请注意正则表达式不带引号。如需替换所有匹配,请使用正则表达式的 g 标志(用于全局搜索):
str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");//Please visit W3School and W3School!
[String|Array].concat([String|Array], …)
连接两个或多个字符串:
var text1 = "Hello";
var text2 = " ";
var text3 = "World";
text4 = text1.concat(text3,text2);//Hello World!
var arr1 = ["Cecilie", "Lone"];
var arr2 = ["Emil", "Tobias", "Linus"];
var arr3 = ["Robin", "Morgan"];
var myChildren = arr1.concat(arr2, arr3); // 将arr1、arr2 与 arr3 连接在一起
String.trim
删除字符串两端的空白符:
var str = " Hello World! ";
alert(str.trim());//Hello World!
String.charAt(int)
返回字符串中指定下标(位置)的字符串:
var str = "HELLO WORLD";
str.charAt(0);// 返回 H
[Number|Array].toString
以字符串返回数值。
var x = 123;
x.toString(); // 从变量 x 返回 123
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.toString(); //Banana,Orange,Apple,Mango
Number.toFixed(int)
返回字符串值,它包含了指定位数小数的数字(注意:会四舍五入),toFixed(2) 非常适合处理金钱:
var x = 9.656;
x.toFixed(0); // 返回 10字符串
x.toFixed(2); // 返回 9.66字符串
x.toFixed(4); // 返回 9.6560字符串
x.toFixed(6); // 返回 9.656000字符串
Number(string)
可用于把 JavaScript 变量转换为数值:
x = "10"
Number(x); // 返回数值10
Array.pop()
方法从数组中删除最后一个元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop(); // 从 fruits 删除最后一个元素("Mango")
Array.push(item)
(在数组结尾处)向数组添加一个新的元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi"); // 向 fruits 添加一个新元素
Array.shift()
会删除首个数组元素,并把所有其他元素“位移”到更低的索引,方法返回被“位移出”的字符串:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift();// 返回 "Banana"
console.log(fruits);// ["Orange", "Apple", "Mango"]
Array.unshift(item)
(在开头)向数组添加新元素,并“反向位移”旧元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon"); // 向 fruits 添加新元素 "Lemon"
Array.splice(index, deleteNum, newItem, newItem, …)
方法可用于向数组添加新项或返回一个包含已删除项的数组或删除元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 0, "Lemon", "Kiwi"); //["Banana", "Orange", "Lemon", "Kiwi", "Apple", "Mango"]
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2, 2, "Lemon", "Kiwi");//["Banana", "Orange", "Lemon", "Kiwi"]
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(0, 1); // 删除 fruits 中的第一个元素,["Orange", "Apple", "Mango"]
Array.sort()
以字母顺序对数组进行排序:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();//["Apple", "Banana", "Mango", "Orange"]
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b}); //[1,5,10,25,40,100]
points.sort(function(a, b){return b - a}); //[100,40,25,10,5,1]
var persons = [
{
name: "Jenny",
age: 18
}, {
name: "Winnie",
age: 24
}, {
name: "Jane",
age: 6
}
];
persons.sort(function (a, b) {return a.age - b.age;});//根据age从小到大排序
console.log(persons);
Array.map()
通过对每个数组元素执行函数来创建新数组
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);//[90,8,18,32,50]
function myFunction(value, index, array) {
return value * 2;
}
Array.filter()
创建一个包含通过测试的数组元素的新数组
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);//[45,25]
function myFunction(value, index, array) {
return value > 18;
}
var persons = [
{
name: "Jenny",
age: 18
}, {
name: "Winnie",
age: 24
}, {
name: "Jane",
age: 6
}
];
var over18 = persons.filter(myFunction2);
function myFunction2(value, index, array) {
return value.age > 18;
}
console.log(over18);//返回age大于18的元素
Array.reduce()
在每个数组元素上运行函数,以生成(减少它)单个值(例如总和):
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction, 0);//99
function myFunction(total, value, index, array) {
return total + value;
}
Array.indexOf()
在数组中搜索元素值并返回其位置(注意:不是索引值,是真实排位)
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");//1
Array.find()
返回通过测试函数的第一个数组元素的值
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);//25
function myFunction(value, index, array) {
return value > 18;
}
var persons = [
{
name: "Jenny",
age: 18
}, {
name: "Winnie",
age: 24
}, {
name: "Jane",
age: 6
}
];
var first = persons.find(myFunction2); //{name: "Winnie",age: 24}
function myFunction2(value, index, array) {
return value.age > 18;
}
Array.findIndex()
返回通过测试函数的第一个数组元素的索引
var numbers = [4, 9, 16, 25, 29];
var first = numbers.findIndex(myFunction);//3
function myFunction(value, index, array) {
return value > 18;
}
var persons = [
{
name: "Jenny",
age: 18
}, {
name: "Winnie",
age: 24
}, {
name: "Jane",
age: 6
}
];
var first = persons.findIndex(myFunction);//1
function myFunction(value, index, array) {
return value.age > 18;
}
Math.random()
返回 0(包括) 至 99(包括) 之间的随机数
Math.floor(Math.random() * 100);
返回 1(包括) 至 100(包括) 之间的随机数
Math.floor((Math.random() * 100) + 1);
返回 15(包括) 至 30(不包括) 之间的随机数
Math.floor(Math.random() * (30 - 15) + 15);
Math.round()
返回值是 x 四舍五入为最接近的整数:
Math.round(6.8); // 返回 7
Math.round(2.3); // 返回 2
Math.abs()
Math.abs(x) 返回 x 的绝对(正)值:
Math.abs(-4.7); // 返回 4.7
Math.ceil()
返回值是 x 上舍入最接近的整数:
Math.ceil(6.4); // 返回 7
Math.floor()
返回值是 x 下舍入最接近的整数:
Math.floor(2.7); // 返回 2
获取当前时间戳
Math.round(new Date() / 1000);//1594096068