Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
192 views
in Technique[技术] by (71.8m points)

javascript - How to use this.id in function

Instead of assigning variable for this.id, does anyone know the syntax of how would I pass this.id into findIndex function?

listing.slideUp(500, function() {
    var listing_id = this.id;
    // I'd like it to say car[0].id == this.id ?
    var index = cars.findIndex(function(car) { return car[0].id === listing_id });
    if (index > -1) {
        cars.splice(index, 1);
    }
});
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If you have to use a browser that does not support arrow functions (=>) then an alternative is to bind the this to the method. Ref. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind

var object = {
  id: 'c'
};

console.log(
  $('div').filter(
    function(index, element){
      return element.id == this.id;
    }.bind(object)
  ).get()
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="b"></div>
<div id="c"></div>
<div id="d"></div>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...