配合這里的 方法 可以查詢數組某一項是否符合要求
方法一:
str.indexOf()
語法: str.indexOf(item, start)
參數:
item: 查詢的字符串值
start: 可選的整數參數,規定在字符串中開始的位置, 他的合法值是 0 到 str.length-1 , 如果省略此參數,則會從字符串的首字符開始查詢
var list = [ { id: 1, str: '張三' }, { id: 2, str: '李四' }, { id: 3, str: '王五' }, { id: 4, str: '趙六' }, { id: 5, str: '沈七' }, { id: 6, str: '賬單' }, { id: 7, str: '張挨打的' }, { id: 8, str: '張三' }, { id: 9, str: '張三' }, { id: 10, str: '張三' }, ] var a = list.filter(value => { return value.str.indexOf('四') !== -1 }) console.log(a); // { id: 2, str: '李四' },
注意: indexOf對大小寫敏感
如果查詢的字符串值沒有出現, 則會返回 -1
方法二:
str.search()方法
語法: str.search(要查詢的字符串)
參數:
該參數可以是需要在 stringObject 中檢索的子串,也可以是需要檢索的 RegExp(正則表達式) 對象。
注意: 如果沒有找到任何匹配的子串,則返回 -1
var list = [ { id: 1, str: '張三' }, { id: 2, str: '李四' }, { id: 3, str: '王五' }, { id: 4, str: '趙六' }, { id: 5, str: '沈七' }, { id: 6, str: '賬單' }, { id: 7, str: '張挨打的' }, { id: 8, str: '張三' }, { id: 9, str: '張三' }, { id: 10, str: '張三' }, ] var a = list.filter(value => { return value.str.search('四') !== -1 }) console.log(a); // { id: 2, str: '李四' },
方法三:
str.match()方法
語法: str.match('value')
str.match(regexp)
參數:
value:要查詢的字符串
regexp: 要匹配的正則表達式
var str="1 plus 2 equal 3" document.write(str.match(/\d+/g)) var str="Hello world!" document.write(str.match("world"))
charAr() 返回在指定位置的字符,索引范圍為從 0 到 length() - 1。
var str="abcdefghijklmn" var str2 = str.charAt(2); var str3 = str.charAt(8); console.log(str2); //c console.log(str3); //i
conca();連接字符串
var str1 = "hellow"; var str2 = 'world'; console.log(str2.concat(str1)); // 結果 worldhellow
match();在字符串內檢索指定的值或找到一個或多個正則表達式的匹配,返回的是值而不是值的位置。
var str1 = "hellow"; var str2 = str1.match('ell'); //檢索字符串,返回的是字符 var str3 = str1.match('lll');//沒有指定的字符,返回的是null console.log(str2); console.log(str3);
.replace();替換匹配的字符串
var str1 = "nihaoma"; var str2 = "henhao"; var str3 = str1.replace(str1.match('hao'),str2.match('hen')); //找到str1的hao,找到str2的lixi,用str2替換掉str1 console.log(str3); //nihenma
search();檢索與字符串匹配的子串,返回的是地址
var str1 = "lily nihaoya zaiganma"; var str2 = "nihaoya"; var str3 = "wobuzai"; var num1 = str1.search(str2);//返回的是第一個字符所在的位置 var num2 = str1.search(str3); //未檢測到返回-1 console.log(num1); //9 console.log(num2); //-1
slice();提取字符串片段,並在新的字符串中返回被提取的部分
var str1 = 'nihaoya wobuhaoya' console.log(str1.slice(4,9)); //4位置開始,到9的前一個位置結束 console.log(str1.slice(2,14));//start位置開始,end前一個位置結束 console.log(str1);//原字符串不變 console.log(str1.slice(-1,0)); //返回的是空字符串 console.log(str1.slice(30,100)); //長度超過字符串的長度,返回空字符串 console.log(str1.slice(-1,10));//返回的是空字符串
substr();從起始索引號提取字符串中指定書目的字符
var str = "jin tian shi 2019 nian zui hou yi tian" var str3 = str.substr(3,19);//字符串中空格不占位置,從3開始,到19結束 console.log(str3); // tian shi 2019 nian
subString();提取字符串中兩個指定索引號之間的字符
var str = "jin tian shi 2019 nian zui hou yi tian" var str3 = str.substring(3,19);//字符串中空格占位置,從3開始,到18結束 var str4 = str.substr(3,19);//空格不占位。從3開始到19結束 console.log(str4); // tian shi 2019 nian console.log('-------------'); console.log(str3); // tian shi 2019 n
判斷字符串是否包含指定字符