อาร์เรย์ที่สอดคล้องกับ ES7/ES2016 Spective- Array.prototype.includes
Shim/Polyfill/Replacement ที่ทำงานได้ไกลถึง ES3
แพ็คเกจนี้ใช้อินเทอร์เฟซ ES-SHIM API มันทำงานในสภาพแวดล้อมที่รองรับ ES3 และสอดคล้องกับข้อมูลจำเพาะที่เสนอ
เนื่องจาก Array.prototype.includes
ขึ้นอยู่กับตัวรับสัญญาณ (ค่า this
) การส่งออกหลักจะใช้อาร์เรย์ในการทำงานเป็นอาร์กิวเมนต์แรก
เครื่องยนต์ที่ต้องการแพ็คเกจนี้รวมถึง:
npm install --save array-includes
การใช้งานพื้นฐาน: รวม (อาร์เรย์, ค่า [, fromIndex = 0])
var includes = require ( 'array-includes' ) ;
var assert = require ( 'assert' ) ;
var arr = [ 'one' , 'two' ] ;
includes ( arr , 'one' ) ; // true
includes ( arr , 'three' ) ; // false
includes ( arr , 'one' , 1 ) ; // false
var arr = [
1 ,
'foo' ,
NaN ,
- 0
] ;
assert . equal ( arr . indexOf ( 0 ) > - 1 , true ) ;
assert . equal ( arr . indexOf ( - 0 ) > - 1 , true ) ;
assert . equal ( includes ( arr , 0 ) , true ) ;
assert . equal ( includes ( arr , - 0 ) , true ) ;
assert . equal ( arr . indexOf ( NaN ) > - 1 , false ) ;
assert . equal ( includes ( arr , NaN ) , true ) ;
assert . equal ( includes ( arr , 'foo' , 0 ) , true ) ;
assert . equal ( includes ( arr , 'foo' , 1 ) , true ) ;
assert . equal ( includes ( arr , 'foo' , 2 ) , false ) ;
/* when Array#includes is not present */
delete Array . prototype . includes ;
var shimmedIncludes = includes . shim ( ) ;
assert . equal ( shimmedIncludes , includes . getPolyfill ( ) ) ;
assert . equal ( arr . includes ( 'foo' , 1 ) , includes ( arr , 'foo' , 1 ) ) ;
/* when Array#includes is present */
var shimmedIncludes = includes . shim ( ) ;
assert . equal ( shimmedIncludes , Array . prototype . includes ) ;
assert . equal ( arr . includes ( 1 , 'foo' ) , includes ( arr , 1 , 'foo' ) ) ;
เพียงแค่โคลน repo, npm install
และเรียกใช้ npm test