indexOf
stringObject.indexOf(searchvalue,fromindex)
该方法将从字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)检索字符串 stringObject,看它是否含有子串 searchvalue。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
<script>
var str="We are friends";
console.log(str.indexOf("are"));
console.log(str.indexOf("we"));
console.log(str.indexOf("friends",7));
console.log(str.indexOf("friends",8));
</script>
includes
arr.includes(searchElement)
arr.includes(searchElement, fromIndex)
该方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。
<script>
var num = [1,2,3,4];
console.log(num.includes(2));
console.log(num.includes(5));
console.log(num.includes(1,5)); //若fromIndex大于数组长度,则返回false,数组不会被搜索
console.log(num.includes(3,-100)); //若fromIndex的值为负数, computed index = 数组长度+(-100),若计算出的索引小于0,则整个数组都会被搜索
console.log(num.includes(1,-2)); // computed index = 4+(-2)=2
</script>
new Set
- 数组去重
<script>
var num1 = [1,2,1,4,3,4,2,3];
var mySet = new Set(num1);
console.log(mySet);
</script>
- 并集
<script>
var a = new Set([1,2,3]);
var b = new Set([2,3,4]);
var union = new Set([...a,...b]);
console.log(union);
</script>
- 交集
<script>
var a = new Set([1,2,3]);
var b = new Set([2,3,4]);
var intersect = new Set([...a].filter(x => b.has(x)));
console.log(intersect);
</script>
- 差集
<script>
var a = new Set([1,2,3]);
var b = new Set([2,3,4]);
var difference1 = new Set([...a].filter(x => !b.has(x)));
var difference2 = new Set([...b].filter(x => !a.has(x)));
console.log(difference1);
console.log(difference2);
</script>