最新消息:文章中包含代码时,请遵守代码高亮规范!

数组去重和Vue-cli解决开发环境的跨域问题【原创】

JavaScript Michael 273浏览 0评论

一.数组常用去重方法

var arr = [‘a’,’aa’,’b’,’bb’, ‘aa’,’c’,’cc’, ‘bb’,’22’];

1. ES6的set()方法

var arrOne = new Set(arr);

console.log(Array.from(arrOne));

2.使用sort()方法,排序去除相邻重复元素

var arrSort = arr.sort();

var arrTwo = [];

for(let i = 0; i< arrSort.length; i++) {

if(arrSort[i] != arrSort[i+1]) {

arrTwo.push(arrSort[i]);

}

}

console.log(arrTwo);

3.使用filter()方法

var arrThree = arr.filter(function(element,index,self){

return self.indexOf(element) == index

})

console.log(arrThree)

去除重复元素依靠的是indexOf总是返回第一个元素的位置,后续的重复元素位置与indexOf返回的位置不相等,因此被filter滤掉了。

 

二.Vue-cli proxyTable 解决开发环境的跨域问题

vue-cli的config文件的index.js中有一个参数叫proxyTable,这个参数主要是一个地址映射表,你可以通过设置将复杂的url简化,例如我们要请求的地址是http://120.12.125.119:8080/,可以按照如下设置:

proxyTable: {

‘/ api’: {

target: ‘ http://120.12.125.119:8080/’,

pathRewrite: {

‘^/api’:’ ‘

}

}

}

这样我们在写url的时候,只用写成/ api就可以代表http://120.12.125.119:8080/.
那么又是如何解决跨域问题的呢?其实在上面的’api’的参数里有一个changeOrigin参数,接收一个布尔值,如果设置为true,那么本地会虚拟一个服务端接收你的请求并代你发送该请求,这样就不会有跨域问题了,当然这只适用于开发环境。增加的代码如下所示:

proxyTable: {

‘/ api’: {

target: ‘ http://120.12.125.119:8080/’,

changeOrigin:true,

pathRewrite: {

‘^/api’:’ ‘

}

}

}

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/23991.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Michael的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!