vue社区之—前端面试(前端中的那些方法)

🍓🍓原生js

💖💖数组方法

💥💥1. push()

push()方法 可把参数指定的元素依次添加到数组的末尾,并返回添加元素后的数组长度。

🥙🥙1)新元素将添加在元素末尾

🥙🥙2)改变数组长度

例子:

var people= ['张三','李四','王五'];
people.push('赵云')

结果:

张三,李四,王五,赵云

难道这只有在尾部添加元素吗,显示不是,下面看看unshift () 方法

💥💥2. unshift ()

unshift () 方法 可把参数指定的元素依次添加到数组的前面,并返回添加元素后的数组长度。该方法必须至少有一个参数

<script type="text/javascript">
var arr =['张三','李四','王五']
document.write(arr + "<br />")
document.write(arr.unshift("赵云") + "<br />")
document.write(arr)
</script>

结果:

赵云,张三,李四,王五

💥💥3. pop()

pop() 方法可弹出(删除)数组最后一个元素,并返回弹出的元素。

<script type="text/javascript">
var people = new Array();
scripts[0] = "张三";
scripts[1] = "李四";
scripts[2] = "王五";
document.write(scripts.join(" <br> "));
document.write("<br>--使用pop()方法后的结果--<br>");
scripts.pop();
document.write(scripts.join(" <br> "));
</script>

结果:

张三,李四

上面push()和unshift () 一前一后,pop()自然有与之对应的函数了。下面来看看shift()

💥💥4. shift()

shift() 方法可删除数组第一个元素,并返回删除的元素。

var people= ['张三','李四','王五','赵云'];
fruits.shift()

结果:

李四,王五,赵云

💥💥5. splice()

splice() 方法功能比较强,它可以实现删除指定数量的元素、替换指定元素以及在指定位置添加元素。增加&&替换

功能强大,详情请看 splice用法

💥💥6. slice()

slice() 方法返回包含从数组对象中的第 index1~index2-1 之间的元素的数组。index2 参数可以省略,省略时表示返回从 index1 位置开始一直到最后位置的元素。需要注意的是,该方法只是读取指定的元素,并不会对原数组作任何修改。

var arr=['aa','bb','cc','dd','ee','ff'];
    var data=arr.slice(2,4);

结果:

["cc", "dd"]

就像python中的切片一样。

语法:slice(参数1,参数2)

💘💘参数1:从何处开始选取(截取数组单元起始位置的索引下标)

💘💘参数2:从何处结束选取(截取数组单元结束位置的索引下标)

💥💥7. sort()

sort() 方法用于按某种规则排序数组:当方法的参数为空时,按字典序(即元素的 Unicode 编码从小到大排序顺序)排序数组元素;当参数为一个匿名函数时,将按匿名函数指定的规则排序数组元素。

var arr1 = [10,1,5,2,3];
    arr1.sort(function(a, b) {
        return a - b;
    });
    console.log(arr1);

结果:

[1,2,3,5,10]

💢💢注意:sort()方法会直接对Array进行修改,它返回的结果仍是当前Array。

💥💥8. concat()

concat() 将参数指定的数组和当前数组连成一个新数组。

var Array= ["hello", "word"];
var ArrayItem= ["java", "C++", "C#"];
var ArrayData= ["name"];
var children = Array.concat(ArrayItem,ArrayData);

结果:

hello,word,java,C++,C#,name

拼接数组,相当于python中的extend

💥💥9. reverse()

reverse() 方法可返回当前数组倒序排序形式。(翻转数组)

var arr = ['tsw', 'liyu', 'bbq'];
console.log(arr.reverse()); //['tsw', 'liyu', 'bbq']
console.log(arr); // ['tsw', 'liyu', 'bbq']

💥💥10. join()

join() 方法可将数组内各个元素按参数指定的分隔符连接成一个字符串。参数可以省略,省略参数时,分隔符默认为“逗号”。

<script type="text/javascript">
var arr = new Array()
arr[0] = "张三"
arr[1] = "李四"
arr[2] = "王五"
document.write(
arr.join()
)
</script>

结果:

张三,李四,王五

💥💥10.forEach()

forEach() 方法用于对数组的每个元素执行一次回调函数。

🐱‍🚀🐱‍🚀1.forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。

🐱‍🚀🐱‍🚀2.forEach()有三个参数,第一个是function()函数,第二个是对象;

🐱‍🚀🐱‍🚀3.函数里面有三个参数,第一个是数组的每一项值(必选),第二个是数组下标(可选),第三个是原数组(可选)

🐱‍🚀🐱‍🚀4.forEach()第二个参数对象,使第一个参数函数的this指向对象

🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹🌹✨

forEach函数使用方法

💥💥11. filter()

filter() 方法用于创建一个新的数组,其中的元素是指定数组中所有符合指定函数要求的元素。

let nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let res = nums.filter((num) => {
  return num > 3;
});
console.log(res);

结果:

[4,5,6, 7, 8, 9, 10]

💥💥12.map()

map() 方法用于创建一个新的数组,其中的每个元素是指定数组的对应元素调用指定函数处理后的值。(映射函数)

var array1 = [1,4,9,16];
const map1 = array1.map(x => x *2);
console.log(map1);

结果:

[2,4,18,32]

💥💥13. reduce()

reduce() 用于使用回调函数对数组中的每个元素进行处理,并将处理进行汇总返回。

const arr = [2, 0, 1, 9, 6];
// 数组求和
const total = arr.reduce((prev, item) => {
    return prev + item;
});
console.log('total:' + total);

结果:

18

💥💥14.find()

find() 用于获取使回调函数值为 true 的第一个数组元素。如果没有符合条件的元素,将返回 undefined。

var ages = [3, 10, 18, 20];
function checkAdult(age) {
    return age >= 18;
}
function myFunction() {
    document.getElementById("demo").innerHTML = ages.find(checkAdult);
}

结果:

18

💨💨注意:只找到满足条件的第一个元素

🍓🍓JavaScript 有几种类型

💖💖基本数据类型

undefined、null、boolean、number、string、symbol(es6的新数据类型)

💖💖引用数据类型

object、array、function(统称为object)

🍓🍓new 操作符具体干了什么?

首先是创建实例对象{}

this 变量引用该对象,同时还继承了构造函数的原型

其次属性和方法被加入到 this 引用的对象中

并且新创建的对象由 this 所引用,最后隐式的返回 this