※grep
$(function(){ var rtn = $.grep([1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1], function(element, index){ console.log(index + '=' + element); return (element != 5 && index > 4); },false); alert(rtn); // 第三個參數是false或不給,結果為 6,7,8,9,8,7,6,4,3,2,1 // 第三個參數是true,結果為 1,2,3,4,5,5 也就是上一行的相反 var rtn = $.grep([{'a':1, 'b':2}, {'c':3, 'd':4}, 'e', 5], function(element, index){ console.log('index=' + index); if($.isPlainObject(element)){ for(e in element){ console.log(e); // a b c d } } else { console.log(element); // e 5 } }); });
※過濾陣列用的,如果過濾物件不會出錯,但好像沒有執行一樣
※contains
$(function(){ console.log($.contains(document.documentElement, document.body)); // true console.log($.contains(document.body, document.documentElement)); // false console.log($.contains(document.getElementsByTagName("div"), document.getElementsByTagName("span"))); // false }); ---------- <div> <span></span> </div>
※右邊的參數是否被左邊的參數包括,這個我不太懂
※merge
$(function(){ console.log($.merge([0,1,2], [2,3,4])); // [0, 1, 2, 2, 3, 4] console.log($.merge([], [2,3,4] )); // [2, 3, 4] console.log($.merge($.merge([0,1,2], [2,3,4]), [4,5,6])); // [0, 1, 2, 2, 3, 4, 4, 5, 6] var test = $.merge([0,{1:function(){return 'x'}},{2:'two'}], [{2:'owt'},3,{1:function(){return 'o'}}]); for(t in test){ if($.isPlainObject(test[t])){ for(tt in test[t]){ console.log(test[t][tt]); } } else { console.log(test[t]); } } });
※將兩個陣列合併
※map
$.map(['a','b','c'], function(val, index) { console.log('val=' + val); // a b c console.log('index=' + index); // 0 1 2 }); $.map({'a':1,'b':2,'c':3}, function(val, index) { console.log('val=' + val); // 1 2 3 console.log('index=' + index); // a b c });
※用法和each一樣
※noop、now、trim
console.log($.noop);// function(){} console.log($.noop()); // undefined console.log($.now); // function(){return (new Date()).getTime();} console.log($.now()); // long的數字 var $trim = $.trim(' 1 2 3 '); console.log($trim); // 1 2 3 console.log($trim.length); // 5
※
※type
console.log($.type()); // undefined console.log($.type(undefined)); // undefined console.log($.type(window)); // object console.log($.type(null)); // null console.log('----------'); console.log($.type(true)); // boolean console.log($.type(3)); // number console.log($.type("test")); // string console.log($.type(function(){} )); // function console.log($.type([])); // array console.log('----------'); console.log($.type({})); // object console.log($.type(new Date())); // date console.log($.type(new Error())); // error console.log($.type(/test/)); // regexp
※
※unique
$(function(){ var divs = $("div").get(); console.log(divs.length); // 5 console.log($.unique(divs).length); // 5 divs = divs.concat($(".d").get()); console.log(divs.length); // 7 var xxx = $.unique(divs); console.log(xxx.length); // 5 $('input[type="button"]').one('click', function(){ $('p').append(xxx); }); }); ---------- <div>d1</div> <div class="d">d2</div> <div>d3</div> <div class="d">d4</div> <div>d5</div> <input type="button" value="click me"/> <p>p</p>
※
沒有留言:
張貼留言