鍍金池/ 問答
短嘆 回答

可以考慮 filter 過濾掉包含 item數(shù)組里的id的元素

舊螢火 回答

代碼沒錯(cuò),是其他部分的代碼邏輯出現(xiàn)了點(diǎn)問題,導(dǎo)致傳過來的數(shù)據(jù)有問題

壞脾滊 回答

如果把事件的傳遞看做一個(gè)流,那么它應(yīng)該是一個(gè)首尾閉合的環(huán),捕獲和冒泡各點(diǎn)半個(gè)圓。那么問題在于捕獲和冒泡是針對(duì)被點(diǎn)擊對(duì)象(btn)的祖先元素而言的,但是對(duì)象本身就比較有意思了。如果對(duì)象里面還有子元素,并且你點(diǎn)擊到了它的子元素,那么事件會(huì)流過子元素,然后再流回來,這個(gè)時(shí)候,代碼的表現(xiàn)是正常的。DOM如下:

<div id="app">
        <span id="btn">
            <b>測(cè)試</b>
        </span>
    </div>

如果被點(diǎn)擊對(duì)象里面沒有子元素了,那么事件在這里已經(jīng)終結(jié)了,也就是說『捕獲』和『冒泡』在這個(gè)元素在進(jìn)行交接,這個(gè)時(shí)候就有意思了,這兩個(gè)事件是同時(shí)觸發(fā)的,那么 js 的監(jiān)聽代碼的書寫順序會(huì)影響最后的 console 結(jié)果,如果這樣寫的話,那么代碼就是按你的想法完成的:

<body>
    <div id="app">
        <span id="btn">測(cè)試</span>
    </div>
<script>

    var btn = document.getElementById('btn');
    var app = document.getElementById('app');
    
    //btn捕獲
    btn.addEventListener('click',function(){
        console.log('捕獲','btn');
    },true);

    //div捕獲
    app.addEventListener('click',function(){
        console.log('捕獲','div');
    },true);

    document.body.addEventListener('click',function(){
        console.log('捕獲','body');
    },true);

    document.body.addEventListener('click',function(){
        console.log('冒泡','body');
    },false);

    //btn冒泡
    btn.addEventListener('click',function(){
        console.log('冒泡','btn');
    },false);
    
    //div冒泡
    app.addEventListener('click',function(){
        console.log('冒泡','div');
    },false);
</script>
</body>
冷咖啡 回答

去看一下 Highcharts 圖例相關(guān)的教程吧:https://www.hcharts.cn/docs/b...

實(shí)現(xiàn)思路:自定義圖例項(xiàng)點(diǎn)擊事件,然后根據(jù)條件僅限數(shù)據(jù)列的顯示與隱藏。

囍槑 回答

去掉

codec => json_lines

最終

input {
  stdin {
    codec => plain{ charset => "GBK" }
  }
  file {
    path => "C:/logs/admin-impl/logstash.*.log"
  }
}
filter{
  json {
        source => "message"
    }
  date {
    match => ["timestamp" , "yyyy-MM-dd HH:mm:ss Z"]
  }
}
output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}
寫榮 回答

你的代碼問題太多了:

  1. a.sort 是函數(shù) sort 對(duì)象, 由於你沒有調(diào)用所以也不會(huì)排序, 應(yīng)當(dāng)改為 a.sort()a = sorted(a), 不過在不影響原始資料的前提下, 我們通常選擇後者的作法
  2. mid 的更新應(yīng)該在 while 內(nèi), 否則不管 low 或是 high 怎麼變動(dòng), 你都是在測(cè)試一樣的資料
  3. low < high 這個(gè)條件應(yīng)當(dāng)改為 low <= high 否則有一些 corner case 會(huì)有問題
  4. 當(dāng) t > a[mid] 的時(shí)候, low 應(yīng)該更新為 mid + 1 而非 high + 1
  5. 當(dāng) t == a[mid] 也就是找到目標(biāo)的時(shí)候, 也應(yīng)該返回該目標(biāo)的索引值而非打印結(jié)果而已
  6. 當(dāng)搜尋結(jié)束, 若未發(fā)現(xiàn)目標(biāo), 應(yīng)該回傳一個(gè)錯(cuò)誤值, 像是 -1 或是 None, 但我更傾向自定義一個(gè)錯(cuò)誤並引發(fā)之

綜上所述加上其他一些小優(yōu)化包含變量名稱等, 我有一個(gè)修正後的版本給你參考:

class NotFoundError(Exception):
    """Can not found target number within the given numbers"""

def binary(target, numbers):
    numbers = sorted(numbers)
    low, high = 0, len(numbers) - 1
    while low <= high:
        mid = (low + high) // 2
        print(low, high, mid)
        if target < numbers[mid]:
            high = mid - 1
        elif target == numbers[mid]:
            return mid
        else:
            low = mid + 1
    raise NotFoundError

target = int(input("請(qǐng)輸入一個(gè)數(shù)"))
numbers = list(range(1, 21))
try:
    idx = binary(target, numbers)
    print('target {} is in numbers with index {}'.format(target, idx))
except NotFoundError as err:
    # error handling

我回答過的問題: Python-QA

毀與悔 回答

兩種都可以。推薦 token 也只是推薦,也并不是說傳統(tǒng)的 cookie/session 就不能用,token 也有坑。看需求,一般 cookie/session 可以了。

別傷我 回答

你的問題是兩個(gè)進(jìn)程間的通訊了,和go/c本身沒太大關(guān)系...可以通過socket(grpc或者自己寫一套也比較簡(jiǎn)單...)

孤酒 回答

為TextField的keyup事件監(jiān)聽器綁定一個(gè)事件處理函數(shù),處理函數(shù)中判斷一下按鍵類型,然后調(diào)用搜索函數(shù)即可。

<TextField
  hintText="Hint Text"
  onKeyUp={this.handleKeyUp.bind(this)}
/>

handleKeyUp(event){
    if(event.keyCode === 13){
        //調(diào)用快速搜索的函數(shù)
    }
}

先執(zhí)行 console.log(1) 獲取值,再調(diào)用 "test"(console.log(1)),由于 "test" 是一個(gè)字符串,不是函數(shù),所以不能用 () 運(yùn)算符,會(huì)出錯(cuò)

墨染殤 回答

card 是個(gè)列表對(duì)象,self.inserted = inserted 這使得 insertedcard 都是指向同一個(gè)列表對(duì)象的。此時(shí),操作 inserted 就是操作 card 。

如果要分開,可以另外生成一個(gè)列表 self.inserted = list(inserted)。

局外人 回答

在chrome中:
clipboard.png
如果這時(shí)候點(diǎn)開a:
clipboard.png
如果不點(diǎn)開,并且賦值obj.a=4444,這時(shí)候再點(diǎn)開a:
clipboard.png
因?yàn)閏hrome中console.log打印出來的是引用的快照,而不是快照的內(nèi)容,如果你不點(diǎn)開,引擎是不會(huì)去這個(gè)引用的地址去取內(nèi)容的,如果你沒點(diǎn)開并且賦值了,再把剛剛console.log打印出來的引用點(diǎn)開,那么會(huì)立即去取這個(gè)地址的內(nèi)容,看起來就像是異步的。
個(gè)人覺得這是chrome做的一個(gè)優(yōu)化吧,因?yàn)槿绻帽容^大,打印出來是比較耗性能的

在ie中:
console.log會(huì)立即打印出來,不管這個(gè)對(duì)象有多大 -。-

離殤 回答

如果是通過yum維護(hù)的nginx二進(jìn)制包,建議將nginx日志保存到其他目錄
比如/data/log/nginx
如果有很多腳本指定了/var/log/nginx作為目錄,可以創(chuàng)建軟連接ln -s /data/log/nginx /var/log/nginx

因?yàn)閥um每次更新包之后,都會(huì)將包里的目錄的所有者改為指定的用戶
并且,這個(gè)不是bug是feature,不會(huì)修改的
https://bugzilla.redhat.com/s...

咕嚕嚕 回答
是不是Student模型的的字段不能用變量表示?

可以。

不過,先說一點(diǎn),在 Python 中: obj['a']obj.a 是不一樣的,前者是 __getitem__ ,后者是 __getattribute__

你要用變量的話,可以 getattr(Student, key) == value ,不過,查詢一般不會(huì)這樣用。

報(bào)錯(cuò): 不可以遍歷QueryBase

看不出為什么,你查詢那句是沒問題的。

網(wǎng)妓 回答

后臺(tái)管理其實(shí)跟普通的沒有多大的區(qū)別,主要是權(quán)限管理和接口,如果你會(huì)node的話,其實(shí)后端也就是增刪改查而已,難度不大;
這些網(wǎng)上一搜一大把,在問問題之前,你應(yīng)該學(xué)會(huì)如何提問;如何提問

如果有什么具體問題的話,可以私信相互交流下

vue+node開發(fā)的一個(gè)博客,歡迎大家一起來交流!
Vue.js + Node.js打造個(gè)人博客(新手向)