- slice的作用------用于截取数据------不会影响原数组
javascript
复制代码
<script>
var arr1 = ['a','b','c','d','e'];
var arr2 = arr1.slice(1,3);
console.log( arr2 ); // 打印的结果是['b', 'c']
</script>
- splice的作用------可以插入,删除,替换数据------会改变原数组
javascript
复制代码
<script>
var arr1 = ['a','b','c','d','e'];
var arr2 = arr1.splice(1,1); //删除一个数据
console.log( arr2 ); // 返回的是操作的数据 打印的是['b']
console.log( arr1 ); // 饭回的是['a','c','d','e']
var arr3 = arr1.splice(1,1,'你好'); //将c替换为你好
</script>
- 数组去重
- new Set
javascript
复制代码
<script>
var arr1 = [1,2,2,3,4,1];
console.log( new Set(arr1) ); // 返回的是个对象
/* 利用ES6的Array.from把像数组的东西变成真正的数组 */
console.log( Array.from( new Set(arr1) ) );
/* 利用扩展运算符也可以达到一样的效果 */
console.log( [...new Set(arr1)] );
</script>
- indexOf
javascript
复制代码
<script>
var arr1 = [1,2,2,3,4,1];
function unique( arr ){
var brr = [];
for( var i=0; i<arr.length; i++){
if(brr.indexOf(arr[i] == -1 ){
brr.push( arr[i] );
}
}
return brr;
};
unique( arr1 );
</script>
- sort
javascript
复制代码
<script>
var arr1 = [1,2,2,3,4,1];
function unique( arr ){
arr = arr.sort();
var brr = [];
for(var i=0; i<arr.length; i++){
if( arr[i] !== arr[i-1] ){
brr.push( arr[i] )
}
}
return brr
};
console.log( unique( arr1 ) );
</script>
- 找出多维数组中的最大值
javascript
复制代码
/* 分别找出每个小数组中的最大值并将它们串联起来形成一个新数组 */
<script>
var arr1 = [
[4,5,1,3],
[13,27,18,26],
[32,35,37,39],
[1000,1001,857,1]
]
function fun(arr){
var newArr = [];
arr.forEach((item, index) => {
newArr.push( Math.max(...item) )
})
return newArr;
}
console.log( fun(arr1) ); // 最后打印出[5,27,39,1001]
</script>
- 给字符串新增方法实现功能
javascript
复制代码
/* 给字符串对象定义一个addPrefix函数,当传入一个字符串str时,它会返回新的带有指定前缀的字符串 */
/ * 例如 */
console.log("world".addPrefix("hello")) // 打印输出helloworld
<script>
String.prototype.addPrefix = function(str){
return str + this;
}
'world'.addPrefix()
</script>
- 找出字符串出现次数最多的字符以及次数
javascript
复制代码
<script>
var str = 'aaabbbdddddddx';
var obj = {};
for (var i=0; i< str.length; i++){
var char = str.charAt(i)
if( obj[char] ){
obj[char]++;
}else{
obj[char] = 1;
}
}
console.log( obj ); // 此时的obj即是{'a':3, 'b':3, 'd':7, 'x':1}
/* 统计出最大值 */
var max = 0;
for (var key in obj){
if(max < obj[key] ){
max = obj [key]
}
}
console.log(max); // 此时的max打印出来是7
// 找出最大值对应的key
for ( var key in obj ){
if( obj[key] == max ){
console.log('最多的字符是-----' + key);
console.log('出现的次数是-----' + max);
}
}
</script>