不給出代碼,不知道你的數(shù)據(jù)是什么結(jié)構(gòu)的,不過沒事,你看我下面的代碼吧!
function checkArr(arr){
//排序
arr.sort(function(n1,n2){return n1.min-n2.min})
//遍歷
for(var i=0;i<arr.length;i++){
//區(qū)間的最小值不能大于等于區(qū)間的最大值
if(arr[i].min>=arr[i].max){
console.log('區(qū)間最大值最小值不能相等');
return;
}
//元素對(duì)比,從第二個(gè)元素開始
if(i>0){
//區(qū)間不能出現(xiàn)交叉的情況 比如:5-10 6-12 這樣就會(huì)導(dǎo)致 6,7,8,9,10這幾值就會(huì)兩個(gè)區(qū)間都在其中
if(arr[i].min<arr[i-1].max){
console.log('區(qū)間不能出現(xiàn)交叉情況');
return;
}
}
}
}
下面準(zhǔn)備些測(cè)試數(shù)據(jù)
var arr1=[{min:1,max:10},{min:5,max:22},{min:5,max:22}],
arr2=[{min:1,max:1},{min:1,max:22},{min:22,max:26}],
arr3=[{min:1,max:10},{min:20,max:30},{min:30,max:40}];
測(cè)試通過,可能看到函數(shù)會(huì)有疑問,為什么數(shù)組要排序,其實(shí)看下面實(shí)例。
var arr4=[{min:30,max:40},{min:20,max:30},{min:10,max:20}]
這個(gè)數(shù)據(jù),區(qū)間范圍也沒有交叉,只是反過來寫了,所以,為了避免這個(gè)情況,所以就要先對(duì)數(shù)組進(jìn)行排序
看玩應(yīng)該都懂了,我這里模擬的數(shù)據(jù),數(shù)組的每一個(gè)對(duì)象,其實(shí)就等同于你的每一行的數(shù)據(jù)。
細(xì)節(jié)優(yōu)化
當(dāng)然如果想首尾相連,或者區(qū)間的最大值不能大于默認(rèn)的最大值,區(qū)間的最小值也不能小于默認(rèn)的最小值,只需要多判斷幾次!下面看代碼吧,容易理解些
var _min=5,_max=50;
function checkArr(arr,min,max){
//排序
arr.sort(function(n1,n2){return n1.min-n2.min})
//遍歷
for(var i=0;i<arr.length;i++){
//區(qū)間的最小值不能大于等于區(qū)間最大值
if(arr[i].min>=arr[i].max){
console.log('區(qū)間的最小值不能大于等于區(qū)間最大值');
return;
}
//區(qū)間的最小值不能小于默認(rèn)最小值
if(arr[i].min<min){
console.log('區(qū)間的最小值不能小于默認(rèn)最小值');
return;
}
//區(qū)間的最大值不能大于默認(rèn)最大值
if(arr[i].max>max){
console.log('區(qū)間的最大值不能大于默認(rèn)最大值');
return;
}
//元素對(duì)比,從第二個(gè)元素開始
if(i>0){
//區(qū)間首尾是否相連(連續(xù) 1-10 10-20)。只要區(qū)間相連,不會(huì)出現(xiàn)區(qū)間相差
if(arr[i].min!==arr[i-1].max){
console.log('區(qū)間必須要相連');
return;
}
}
}
}
至于你說的包含情況,我改了下,代碼如下,看著就懂了
var _min=5,_max=50;
function checkArr(arr,min,max){
//排序
arr.sort(function(n1,n2){return n1.min-n2.min})
//遍歷
for(var i=0;i<arr.length;i++){
//區(qū)間的最小值不能大于等于區(qū)間最大值
if(arr[i].min>=arr[i].max){
console.log('區(qū)間的最小值不能大于等于區(qū)間最大值');
return;
}
//區(qū)間的最小值不能小于默認(rèn)最小值
if(arr[i].min<min){
console.log('區(qū)間的最小值不能小于默認(rèn)最小值');
return;
}
//區(qū)間的最大值不能大于默認(rèn)最大值
if(arr[i].max>max){
console.log('區(qū)間的最大值不能大于默認(rèn)最大值');
return;
}
//元素對(duì)比,從第二個(gè)元素開始
if(i>0){
//如果前一個(gè)的最大值和當(dāng)前的最小值都是閉區(qū)間,那么當(dāng)前的最小值一定要大于前一個(gè)的最大值(如果要求首尾相連,當(dāng)前的最小值一定比前一個(gè)的最大值大1)
if(arr[i].minInclude&&arr[i-1].maxInclude&&arr[i].min-arr[i-1].max<=0){
console.log('取值范圍錯(cuò)誤');
return;
}
//如果前一個(gè)的最大值和當(dāng)前的最小值。一個(gè)是開區(qū)間,一個(gè)是閉區(qū)間,那么后一個(gè)的的最小值一定要等于當(dāng)前的最大值
else if(arr[i].minInclude!==arr[i-1].maxInclude&&arr[i].min!==arr[i-1].max){
console.log('取值范圍錯(cuò)誤');
return;
}
//如果前一個(gè)的最大值和當(dāng)前的最小值都是開區(qū)間,那么那么當(dāng)前的最小值一定要大于等于前一個(gè)的最大值(如過是首尾相連,這種情況,肯定不滿足條件)
else if((!arr[i].minInclude)&&(!arr[i-1].maxInclude)&&arr[i].min-arr[i-1].max<0){
console.log('取值范圍錯(cuò)誤');
return;
}
}
}
}
//前一個(gè)和后一個(gè)都是閉區(qū)間
var arr9=[{min:10,max:20,minInclude:false,maxInclude:true},{min:21,max:30,minInclude:true,maxInclude:true}]
//前一個(gè)和當(dāng)前都是閉區(qū)間,但是前一個(gè)的最大值和后一個(gè)的最小值相等
var arr10=[{min:10,max:20,minInclude:false,maxInclude:true},{min:20,max:30,minInclude:true,maxInclude:false}]
//前一個(gè)的最大值和當(dāng)前的最小值,一個(gè)是閉區(qū)間,一個(gè)是開區(qū)間
var arr11=[{min:10,max:20,minInclude:false,maxInclude:true},{min:20,max:30,minInclude:false,maxInclude:false}]
var arr12=[{min:10,max:20,minInclude:false,maxInclude:false},{min:20,max:30,minInclude:true,maxInclude:false}]
//前一個(gè)的最大值和當(dāng)前的最小值,一個(gè)是閉區(qū)間,一個(gè)是開區(qū)間,但是前一個(gè)的最大值和當(dāng)前的最小值不想等
var arr14=[{min:10,max:20,minInclude:false,maxInclude:false},{min:21,max:30,minInclude:true,maxInclude:false}]
//前一個(gè)的最大值和當(dāng)前的最小值,都是開區(qū)間,但是當(dāng)前的最小值小于前一個(gè)的最大值
var arr15=[{min:10,max:20,minInclude:false,maxInclude:false},{min:15,max:30,minInclude:false,maxInclude:false}]
//前一個(gè)的最大值和當(dāng)前的最小值,都是開區(qū)間。前一個(gè)的最大值等于當(dāng)前的最小值
var arr16=[{min:10,max:20,minInclude:false,maxInclude:false},{min:20,max:30,minInclude:false,maxInclude:false}]
再不行,再來貼圖問吧
也許這個(gè)是你想要的
請(qǐng)求時(shí)長(zhǎng)跟axios沒啥關(guān)系呀,瀏覽器只負(fù)責(zé)請(qǐng)求,什么時(shí)候響應(yīng),響應(yīng)多久是看你后端以及網(wǎng)絡(luò)延時(shí)呀
str = str.replace(/\s/g,'').split(/([^\[\]]+)(?=\[)|(\[[^\[\]]+\])/g).filter(item=>item);應(yīng)該是打包路徑的問題
其實(shí)上面的英文注釋已經(jīng)解釋了許多
這段代碼是用于在nodejs環(huán)境中暴露_方法
//這里這個(gè)if else是為了確定當(dāng)前環(huán)境是node環(huán)境還是瀏覽器環(huán)境
//typeof exports的結(jié)果必然是String類型,因此不使用嚴(yán)格不等于也可以
//至于為什么不使用隱式轉(zhuǎn)換,應(yīng)該是為了代碼語義更明確,就是想判斷不是undefined類型(存疑)
if (typeof exports != 'undefined' && !exports.nodeType) {
//nodeType是為了確定該值不是html dom元素
if (typeof module != 'undefined' && !module.nodeType && module.exports) {
//node環(huán)境下exports = module.exports = {},exports是對(duì)module.exports的引用
//module.exports = _ ,注意到_其實(shí)是個(gè)函數(shù)(這段代碼上面定義了)
//這切斷了exports和module.exports的聯(lián)系,只能被module.exports輸出,不能被exports輸出
//所以需要exports = module.exports,重新建立起 exports 對(duì) module.exports 的引用
exports = module.exports = _;
}
//兼容對(duì)module.exports支持不好的舊的commonJS規(guī)范
//引用的時(shí)候可以 var _ = require("underscore")._
exports._ = _;
} else {
//瀏覽器環(huán)境,_方法掛載到window上
root._ = _;
}if(!config.params['limit']){
config.params['limit'] = 50;
}
這幾天在邊開發(fā)邊解決這個(gè)問題,早上發(fā)現(xiàn)問題的關(guān)鍵:
我會(huì)在loadMore外面包一層div div的css是overflow-y:scroll;
重點(diǎn)是這樣沒效果,還要在mounted上給.listBox加一段:
$(".listBox").css('height',$(window).height()+'px')確保外層div的高度不大于窗口高度這樣能實(shí)現(xiàn)我想要的效果。
npm run dev是指執(zhí)行package.json中script定義里的run指令。
你想說的是webpack的npm run dev吧?
在config文件中指定了dev環(huán)境要綁定的host,你可以改成你的ip。
_self就是this,為什么不是同一個(gè)。而箭頭函數(shù)的this為上一級(jí)的this,至于是不是a就不知道了,你這只寫了export也不知道你在哪用的。
1、jsapi_ticket錯(cuò)誤
2、簽名算法有問題
3、算法參數(shù)中noncestr的‘s’為小寫, wx.config中nonceStr的‘S’為大寫,注意區(qū)分
4、確認(rèn)url是頁面完整的url(請(qǐng)?jiān)诋?dāng)前頁面alert(location.href.split('#')[0])確認(rèn)),包括'http(s)://'部分,以及'?'后面的GET參數(shù)部分,但不包括'#'hash后面的部分
參考文檔:https://mp.weixin.qq.com/wiki... 附錄5
var arr = ["19998321312.jpg","19998321312.jpg","19998321312.jpg","19998321312.jpg","19998321312.jpg","19998321312.jpg","19998321312.jpg"]
function arrimg() {
var arr2 = [];
arr.forEach(function(ele,index){
arr2.push(arr[index].split('.').join('_'+parseInt(index+1)+'.'));
});
return arr2;
}
同問,我看到官方的在線實(shí)例運(yùn)行速度還是挺快的,應(yīng)該是打包后的生產(chǎn)版本,取消了某些測(cè)試配置。在本地調(diào)試有沒有什么配置能讓本地頁面運(yùn)行提高速度呢,感覺好卡
看代碼是沒問題,你看看控制臺(tái)有報(bào)錯(cuò)嗎,是不是 element 沒有正確引入
不然呢,你讓網(wǎng)頁把圖片提交到哪? 得有個(gè)后臺(tái)上傳圖片的接口。
rem的話要根據(jù)不同的屏幕寬度設(shè)置根元素的font-size,參考https://www.w3cplus.com/mobil...
小程序的跳轉(zhuǎn)是不關(guān)閉界面的,而是在后臺(tái)中緩存,要想關(guān)閉界面,用redirectTo或者reLaunch
寫的很亂啊
shouldComponentUpdate(nextProps, nextState) {
14 | if( nextProps.states.set.title !== "undefined"){ // 這里set是個(gè)對(duì)象
> 15 | this.setState({set:[nextProps.states.set[0]]}) // 這里set怎么變成數(shù)組了?
16 | console.log(nextProps.states)
17 | return true
18 | }
而且一般的組件更新并不使用shouldComponentUpdate,這個(gè)方法通常用在無法利用組件機(jī)制自動(dòng)更新或某些特殊情況時(shí),手動(dòng)更新的,直接通過props傳過來的值,父級(jí)改變,子集也會(huì)自動(dòng)render,不應(yīng)該把props值重新用state管理,參考下官方給教程:
https://reactjs.org/tutorial/...
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。