简介:不少概念不清或忘记,从新构建本身的知识体系。天天问本身1~多个问题。我是菜鸟 成为大神之路!
正则表达式
var str = 'Hello world!';
复制代码
String对象的方法➡ECMAScript 5数组
可返回某个指定的字符串值在字符串中首次出现的位置。若是要检索的字符串值没有出现,则该方法返回 -1。函数
console.log(str.indexOf("w") !== -1 ); // true
console.log(str.indexOf("wr") !== -1 ); // false
复制代码
用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。若是没有找到任何匹配的子串,则返回 -1。测试
console.log(str.search("w") !== -1 ); // true
console.log(str.search("wr") !== -1 ); // false
复制代码
参数:可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
返回值:若是字符串匹配到了表达式,会返回一个数组,数组的第一项是进行匹配完整的字符串,以后的项是用圆括号捕获的结果。若是没有匹配到,返回nullui
var reg = RegExp(/w/);
var reg1 = /wr/
console.log(str.match(reg));//["w", index: 6, input: "Hello world!", groups: undefined]
console.log(str.match(reg1));//null
复制代码
执行结果 spa
String对象的方法➡ECMAScript 6 (这三个方法都支持第二个参数,表示开始搜索的位置)prototype
返回布尔值,表示是否找到了参数字符串。code
str.startsWith('Hello') // true
str.startsWith('world', 6) // true
复制代码
返回布尔值,表示参数字符串是否在原字符串的头部。regexp
str.endsWith('!') // true
str.endsWith('Hello', 5) // true
复制代码
返回布尔值,表示参数字符串是否在原字符串的尾部。cdn
str.includes('o') // true
str.includes('Hello', 6) // false
复制代码
RegExp 对象方法
用于检索字符串中指定的值。返回 true 或 false。
var reg = RegExp(/w/);
var reg1 = /wr/;
console.log(reg.test(str)); // true
console.log(reg1.test(str)); // false
复制代码
用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。若是未找到匹配,则返回值为 null。
var reg = RegExp(/w/);
var reg1 = /wr/;
console.log(reg.exec(str)); // ["w", index: 6, input: "Hello world!", groups: undefined]
console.log(reg1.exec(str)); // null
复制代码
//建立数组
var arr = ["one","two","three"];
//var arr=new Array(10);//这里就建立了一个初始化大小为10的数组
//arr.push("one");
//注意:当使用数组大小操做初始化大小时,数组会自动被撑大,不会像C语言那样发生错误.动态增加是js数组的一个性质.
复制代码
Es6
(推荐使用⭐⭐⭐⭐) 🔎方法用来判断一个数组是否包含一个指定的值,根据状况,若是包含则返回 true,不然返回false。
若是fromIndex
大于等于数组长度 ,则返回 false 。该数组不会被搜索。
console.log(arr.includes('one')); // true
console.log(arr.includes('onef')); // false
console.log(arr.includes('one', 4)); // false 若是`fromIndex` 大于等于数组长度 ,则返回 false 。该数组不会被搜索。
console.log(arr.includes('onef', 4)); // false 若是`fromIndex` 大于等于数组长度 ,则返回 false 。该数组不会被搜索。
console.log(arr.includes('one', -100)); // true
console.log(arr.includes('onef', -100)); // false
复制代码
返回在数组中能够找到一个给定元素的第一个索引,若是不存在,则返回-1。
fromIndex
开始查找的位置。若是该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。若是参数中提供的索引值是一个负值,则将其做为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找,若是在设置范围内找到则返回0,不然返回-1。
console.log(arr.indexOf('one')); // 0
console.log(arr.indexOf('onef')); // -1
console.log(arr.indexOf('one', 4));// -1
console.log(arr.indexOf('onef', 4));// -1
console.log(arr.indexOf('one', -3)); // 0
console.log(arr.indexOf('one', -10)); // 0
console.log(arr.indexOf('one', -2)); // -1
复制代码
返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,若是不存在则返回 -1。从数组的后面向前查找,从 fromIndex 处开始。同②
返回数组中知足提供的测试函数的第一个元素的值
。不然返回 undefined。
var arr = [5, 12, 8, 130, 44];
var found = arr.find(function(element) {
return element > 10;
});
var found1 = arr.find(function(element) {
return element > 200;
});
console.log(found); //12
console.log(found1); //undefined
复制代码
建立一个新数组, 其包含经过所提供函数实现的测试的全部元素。
var arr = [12, 5, 8, 130, 44];
function isBigEnough(element) {
return element >= 10;
}
var filterArr = arr.filter(isBigEnough);
console.log(filterArr);//[12, 130, 44]
复制代码
能够根据2问中的函数编写方法过滤。 其中有一个Array.prototype.filter(function)
方法 建立一个新数组, 其包含经过所提供函数实现的测试的全部元素。
相关知识:map() 🌳includes()🌳filter()
//场景
var values = ['1','2','4'];
var data = [{value:'1',text:'清香1'},
{value:'2',text:'清香2'},
{value:'3',text:'清香3'},
{value:'4',text:'清香4'},
{value:'5',text:'清香5'},
{value:'6',text:'清香6'}];
我须要获得 与values对应的text值的数组
例如:var texts = ['清香1','清香2','清香4'];
复制代码
方法一:
var valueArr = []
data.map(e=>{
if(values.includes(e.value))valueArr.push(e.text)
})
console.log(valueArr)
复制代码
方法二:(推荐使用⭐⭐⭐⭐)
//用filter过滤,再用map。 includes 是ES7的,能够用indexOf替代。
//使用Array.prototype.filter(function) 方法:
var result = data.filter(e=>{
return values.includes(e.value)
}).map(el => el.text);
console.log(result); // ["清香1", "清香2", "清香4"]
复制代码
①== 两边值类型不一样的时候,要先进行类型转换,再比较。
②=== 不作类型转换,类型不一样的必定不等。
console.log(undefined == null);//true
console.log(undefined === null);//false
console.log(0 == false);//true
console.log(0 === false);//false
console.log(10 == "10");//true
console.log(10 === "10");//false
复制代码