push():向数组的末尾添加一个或多个元素,并返回新的长度
arrayObject.push(newelement1,newelement2,…,newelementX)
参数 | 描述 |
---|---|
newelement1 | 必需。要添加到数组的第一个元素。 |
newelement2 | 可选。要添加到数组的第二个元素。 |
newelementX | 可选。可添加多个元素。 |
pop():删除并返回数组的最后一个元素
arrayObject.pop()
shift():从数组中删除第一个元素,并返回该元素的值
arrayObject.shift()
unshift():向数组的开头添加一个或更多元素,并返回新的长度
arrayObject.unshift(newelement1,newelement2,…,newelementX)
参数 | 描述 |
---|---|
newelement1 | 必需。要添加到数组的第一个元素。 |
newelement2 | 可选。要添加到数组的第二个元素。 |
newelementX | 可选。可添加多个元素。 |
splice():向/从数组中添加/删除项目,然后返回被删除的项目。
arrayObject.splice(index,howmany,item1,…,itemX)
参数 | 描述 |
---|---|
index | 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 |
howmany | 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 |
item1, …, itemX | 可选。向数组添加的新项目。 |
sort():对数组的元素进行排序。
arrayObject.sort(sortby)
参数 | 描述 |
---|---|
sortby | 可选。规定排序顺序。必须是函数。 |
function sortby(a, b)
{
return b - a //倒序
return a - b //顺序
}
reverse():用于颠倒数组中元素的顺序。
arrayObject.reverse()
filter():向/从数组中添加/删除项目,然后返回被删除的项目。
filter(function(){}): 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
concat(): 方法用于连接两个或多个数组。
arrayObject.concat(arrayX,arrayX,…,arrayX)
参数 | 描述 |
---|---|
arrayX | 必需。该参数可以是具体的值,也可以是数组对象。可以是任意多个。 |
slice(start,end):从已有的数组中返回选定的元素。
arrayObject.slice(start,end)
参数 | 描述 |
---|---|
start | 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。 |
end | 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
let jsonArr = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'lisi',age:30}
]
//找到 age 为 30的值
jsonArr.find(item=>item.age===30) //{id: "1", name: "lisi", age: 30}
//找到 age为 301的值
jsonArr.find(item=>item.age===301) //undefined
自定义
function lastFind(jsonArr,callback){
let _jsonArr = jsonArr.reverse()
let obj = _jsonArr.find(callback)
return obj
}
let jsonArr = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'wangermazi',age:30},
{id:'4',name:'xiaoming',age:18},
{id:'5',name:'wuming',age:30},
]
lastFind(jsonArr,item=>item.age==30) // {id: "5", name: "wuming", age: 30}
lastFind(jsonArr,item=>item.age==18) // {id: "4", name: "xiaoming", age: 18}
lastFind(jsonArr,item=>item.age==188)// undefined
let jsonArr = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'lisi',age:30}
]
//找到 age 为 30的所有值
jsonArr.filter(item=>item.age===30) //[{id:'1',name:'lisi',age:30},{id:'3',name:'lisi',age:30}]
//找到 age为 301的所有值
jsonArr.filter(item=>item.age===301) //[]
let arr = [1,2,3,4,5]
//检测数组的每一项是否都大于0
arr.every(item=>item>0) //true
//检测数组的每一项是否都大于1
arr.every(item=>item>1) //false
//用户列表
let userList = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'wangermazi',age:30},
{id:'4',name:'xiaoming',age:18},
{id:'5',name:'wuming',age:30},
]
//未成年检测
userList.every(item=>item.age>=18)//true
let arr = [1,2,3,4,5]
//检测数组中是否包含 4
arr.includes(4) //true
arr.includes(6) //false
针对json
//用户列表
let userList = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'wangermazi',age:30},
{id:'4',name:'xiaoming',age:18},
{id:'5',name:'wuming',age:30},
]
//用户列表中是否包含年龄20岁的
userList.some(item=>item.age===20) // true
//用户列表中是否包含年龄201岁的
userList.some(item=>item.age===201)// false
let arr = [1,2,3,4,5]
arr.reduce((pre,cur)=>pre+=cur,'') //'12345'
自定义
//动态生成 一个长度 不定 值 不定的 数组
function generateArr(len,val){
return Array(len).fill(val)
}
//需求1:生成长度为5的值都是[]的数组
generateArr(5,[])//[[],[],[],[],[]]
//需求2:生成长度为3的值都是{}的数组
generateArr(3,{})//[{},{},{}]
//需求3:生成长度为5的值都是0的数组
generateArr(5,0)//[0,0,0,0,0]
1)findIndex
let jsonArr = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'lisi',age:30}
]
// 查询age为30的第一个值的索引
jsonArr.findIndex(item=>item.age===30)//0
2)indexOf
let arr = [1,2,1,4]
arr.indexOf(1)//0
3)lastFindIndex
function lastFindIndex(jsonArr,callback){
let _jsonArr = jsonArr.reverse()
let index = _jsonArr.findIndex(callback)
return index>-1?_jsonArr.length-index-1:-1
}
let jsonArr = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'wangermazi',age:30},
{id:'4',name:'xiaoming',age:18},
{id:'5',name:'wuming',age:30},
]
lastFindIndex(jsonArr,item=>item.age==18) //3
lastFindIndex(jsonArr,item=>item.age==30) //4
4)lastIndexOf
let arr = [1,2,1,4]
arr.lastIndexOf(1)//2
5)allFindIndex
function allFindIndex(jsonArr,callback){
let res= []
for(let i=0;i<jsonArr.length;i++){
if(callback(jsonArr[i])){
res.push(i)
}
}
return res
}
let jsonArr = [
{id:'1',name:'lisi',age:30},
{id:'2',name:'zhangsan',age:20},
{id:'3',name:'wangermazi',age:30},
{id:'4',name:'xiaoming',age:18},
{id:'5',name:'wuming',age:30},
]
//从jsonArr数组中 找到符合给定条件的值的所有索引
allFindIndex(jsonArr,item=>item.age==30)// [0, 2, 4]
allFindIndex(jsonArr,item=>item.age==18)// [3]
allFindIndex(jsonArr,item=>item.age==20)// [1]
allFindIndex(jsonArr,item=>item.age==201)// []
1、字符串合并操作:“ + ”
var iNum01 = 12;
var iNum02 = 24;
var sNum03 = '12';
var sTr = 'abc';
alert(iNum01+iNum02); //弹出36
alert(iNum01+sNum03); //弹出1212 数字和字符串相加等同于字符串相加
alert(sNum03+sTr); // 弹出12abc
2、parseInt() 将数字字符串转化为整数
var sNum01 = '12';
var sNum02 = '24';
var sNum03 = '12.32';
alert(sNum01+sNum02); //弹出1224
alert(parseInt(sNum01)+parseInt(sNum02)) //弹出36
alert(sNum03) //弹出数字12 将字符串小数转化为数字整数
3、parseFloat() 将数字字符串转化为小数
var sNum03 = '12.32'
alert(parseFloat(sNum03)); //弹出 12.32 将字符串小数转化为数字小数
4、split() 把一个字符串分隔成字符串组成的数组
var sTr = '2017-4-22';
var aRr = sTr.split("-");
var aRr2= sTr.split("");
alert(aRr); //弹出['2017','4','2']
alert(aRr2); //弹出['2','0','1','7','-','4','-','2','2']
5、charAt() 获取字符串中的某一个字符
var sId = "#div1";
var sTr = sId.charAt(0);
alert(sTr); //弹出 #
6、indexOf() 查找字符串是否含有某字符
var sTr = "abcdefgh";
var iNum = sTr.indexOf("c");
alert(iNum); //弹出2
7、substring() 截取字符串 用法: substring(start,end)(不包括end)
var sTr = "abcdefghijkl";
var sTr2 = sTr.substring(3,5);
var sTr3 = sTr.substring(1);
alert(sTr2); //弹出 de
alert(sTr3); //弹出 bcdefghijkl
8、toUpperCase() 字符串转大写
var sTr = "abcdef";
var sTr2 = sTr.toUpperCase();
alert(sTr2); //弹出ABCDEF
9、toLowerCase() 字符串转小写
var sTr = "ABCDEF";
var sTr2 = sTr.toLowerCase();
alert(sTr2); //弹出abcdef
10、字符串反转
var str = 'asdfj12jlsdkf098';
var str2 = str.split('').reverse().join('');
alert(str2);
去除字符串内所有的空格:str = str.replace(/\s*/g,"");
去除字符串内两头的空格:str = str.replace(/^\s*|\s*$/g,"");
去除字符串内左侧的空格:str = str.replace(/^\s*/,"");
去除字符串内右侧的空格:str = str.replace(/(\s*$)/g,"");
// 较少使用的方法
11、charAt(x)
charAt(x)返回字符串中x位置的字符,下标从 0 开始。
//charAt(x)
var myString = 'jQuery FTW!!!';
console.log(myString.charAt(7));
//output: F
12、charCodeAt(x)
charCodeAt(x)返回字符串中x位置处字符的unicode值。
//charAt(position)
var message="jquery4u"
//alert "113"
alert(message.charCodeAt(1)
13、fromCharcode(c1,c2)
fromCharcode(c1,c2)转换一组Unicode值转换为字符。
//fromCharCode(c1, c2,...)
console.log(String.fromCharCode(97,98,99,120,121,122))
//output: abcxyz
console.log(String.fromCharCode(72,69,76,76,79))
//output: HELLO
14、indexOf(substr, [start])
indexOf方法搜索并(如果找到)返回字符串中搜索到的字符或子字符串的索引。如果没有找到,则返回-1。Start是一个可选参数,指定字符串中开始搜索的位置,默认值为0。
//indexOf(char/substring)
var sentence="Hi, my name is Sam!"
if (sentence.indexOf("Sam")!=-1)
alert("Sam is in there!")
15、lastIndexOf(substr, [start])
lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引, 如果未找到,则返回-1。“Start”是一个可选参数,指定字符串中开始搜索的位置, 默认值为string.length-1。
//lastIndexOf(substr, [start])
var myString = 'javascript rox';
console.log(myString.lastIndexOf('r'));
//output: 11
16、match(regexp)
根据正则表达式在字符串中搜索匹配项。如果没有找到匹配项,则返回一个信息数组或null。
//match(regexp) //select integers only
var intRegex = /[0-9 -()+]+$/;
var myNumber = '999';
var myInt = myNumber.match(intRegex);
console.log(isInt);
//output: 999
var myString = '999 JS Coders';
var myInt = myString.match(intRegex);
console.log(isInt);
//output: null
17、replace(regexp/substr, replacetext)
replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
//replace(substr, replacetext)
var myString = '999 JavaScript Coders';
console.log(myString.replace(/JavaScript/i, "jQuery"));
//output: 999 jQuery Coders
//replace(regexp, replacetext)
var myString = '999 JavaScript Coders';
console.log(myString.replace(new RegExp( "999", "gi" ), "The"));
//output: The JavaScript Coders
18、search(regexp)
search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,如果找到,返回与 regexp 相匹配的子串的起始位置,否则返回 -1。
//search(regexp)
var intRegex = /[0-9 -()+]+$/;
var myNumber = '999';
var isInt = myNumber.search(intRegex);
console.log(isInt);
//output: 0
19.slice(start, [end])
slice() 方法可提取字符串的某个部分,返回一个新的字符串。包括字符串从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。
//slice(start, end)
var text="excellent"
text.slice(0,4) //returns "exce"
text.slice(2,4) //returns "ce"
11.split(delimiter, [limit])
split() 方法用于把一个字符串分割成字符串数组,返回一个字符串数组返回的数组中的字串不包括 delimiter自身。可选的“limit”是一个整数,允许各位指定要返回的最大数组的元素个数。
20.substr(start, [length])
substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。返回一个新的字符串,包含从 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到该字符串的结尾的字符。
//substring(from, to)
var text="excellent"
text.substring(0,4) //returns "exce"
text.substring(2,4) //returns "ce"
13.substring(from, [to])
substring() 方法用于提取字符串中介于两个指定下标之间的字符,返回的子串包括 start 处的字符,但不包括 stop 处的字符,to 可选,如果省略该参数,那么返回的子串会一直到字符串的结尾。
//substring(from, [to])
var myString = 'javascript rox';
myString = myString.substring(0,10);
console.log(myString)
//output: javascript
21.toLowerCase()
toLowerCase() 方法用于把字符串转换为小写。
//toLowerCase()
var myString = 'JAVASCRIPT ROX';
myString = myString.toLowerCase();
console.log(myString)
//output: javascript rox
22.toUpperCase()
toUpperCase() 方法用于把字符串转换为大写。
//toUpperCase()
var myString = 'javascript rox';
myString = myString.toUpperCase();
console.log(myString)
//output: JAVASCRIPT ROX
23. includes()
includes() 方法用于检查字符串是否包含指定的字符串或字符。
//includes()
var mystring = "Hello, welcome to edureka";
var n = mystring.includes("edureka");
//output: True
24. endsWith()
endsWith()函数检查字符串是否以指定的字符串或字符结束。
//endsWith()
var mystr = "List of javascript functions";
var n = mystr.endsWith("functions");
//output: True
25. repeat()
repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。
//repeat()
var string = "Welcome to Edureka";
string.repeat(2);
//output: Welcome to Edureka Welcome to Edureka
26. valueOf()
valueOf() 方法返回一个String对象的原始值(primitive value),该值等同于String.prototype.toString()。
//valueOf()
var mystr = "Hello World!";
var res = mystr.valueOf();
//output: Hello World!
27. trim()
trim() 方法会从一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR)
//trim()
var str = " Hello Edureka! ";
alert(str.trim());
Array.form(set) 将set转为数组