මෙම deleteක්රියාකරු වස්තු ගුණ ඉවත් කිරීමට භාවිතා කරයි.
const obj = { foo: "bar" }
delete obj.foo
obj.hasOwnProperty("foo") // false
අරා සඳහා මෙය මූලද්රව්යයක් ඉවත් කිරීමට සමාන නොවන බව සලකන්න . අරාවකින් මූලද්රව්යයක් ඉවත් කිරීමට, භාවිතා කරන්න Array#spliceහෝ Array#pop. උදාහරණයක් වශයෙන්:
arr // [0, 1, 2, 3, 4]
arr.splice(3,1); // 3
arr // [0, 1, 2, 4]
විස්තර
deleteජාවාස්ක්රිප්ට් හි සී සහ සී ++ හි මූල පදයට වඩා වෙනස් ශ්රිතයක් ඇත: එය මතකය කෙලින්ම නිදහස් නොකරයි. ඒ වෙනුවට, එහි එකම අරමුණ වන්නේ වස්තූන්ගෙන් ගුණාංග ඉවත් කිරීමයි.
අරා සඳහා, දර්ශකයකට අනුරූප වන දේපලක් මකා දැමීම, විරල අරාවක් නිර්මාණය කරයි (එනම්, එහි “සිදුරක්” සහිත අරාවක්). බොහෝ බ්රව්සර් මෙම අස්ථානගත දර්ශක "හිස්" ලෙස නිරූපණය කරයි.
var array = [0, 1, 2, 3]
delete array[2] // [0, 1, empty, 3]
බව සටහන deleteනැවත පදිංචි කරන්නේ නැත array[3]බවට array[2].
ජාවාස්ක්රිප්ට් හි විවිධ සාදන ලද කාර්යයන් විරල අරා වෙනස් ලෙස හසුරුවයි.
for...in හිස් දර්ශකය සම්පූර්ණයෙන්ම මඟ හරිනු ඇත.
සාම්ප්රදායික forපුඩුවක් undefinedදර්ශකයේ අගය සඳහා නැවත පැමිණේ .
භාවිතා කරන ඕනෑම ක්රමයක් දර්ශකයේ අගය සඳහා Symbol.iteratorනැවත පැමිණේ undefined.
forEach, mapහා reduceහුදෙක් අතුරුදහන් දර්ශකය මඟ වනු ඇත.
එබැවින්, deleteඅරාවකින් මූලද්රව්ය ඉවත් කිරීමේ පොදු භාවිතය සඳහා ක්රියාකරු භාවිතා නොකළ යුතුය. මූලද්රව්ය ඉවත් කිරීම සහ මතකය නැවත වෙන් කිරීම සඳහා අරාට විශේෂිත ක්රම තිබේ: Array#splice()සහ Array#pop.
අරාව # භේදය (ආරම්භ කරන්න [, මකන්න [, අයිතමය 1 [, අයිතමය 2 [, ...]]])
Array#spliceඅරාව විකෘති කර ඉවත් කරන ලද ඕනෑම දර්ශක නැවත ලබා දෙයි. deleteCountඅංග දර්ශකය ඉවත් කර start, සහ item1, item2... itemNදර්ශකය සිට අරාව ඇතුල් වේ start. deleteCountමඟ හැරී ඇත්නම්, ආරම්භක ඉන්ඩෙක්ස් හි මූලද්රව්ය අරාවේ අවසානය දක්වා ඉවත් කරනු ලැබේ.
let a = [0,1,2,3,4]
a.splice(2,2) // returns the removed elements [2,3]
// ...and `a` is now [0,1,4]
ඒ හා සමාන නම් සහිත, නමුත් වෙනස්, ශ්රිතයක් ද ඇත Array.prototype: Array#slice.
අරාව # පෙත්තක් ([ආරම්භ කරන්න [, අවසානය]])
Array#sliceවිනාශකාරී නොවන අතර, දක්වා ඇති දර්ශක අඩංගු නව අරාවක් නැවත ලබා startදෙයි end. නම් endකියන්නේ නම් නොකල ඉතිරි, එය අරාව අවසන් පෙරනිමි. endධනාත්මක නම් , එය නැවැත්වීම සඳහා ශුන්ය පදනම් වූ ඇතුළත් නොවන දර්ශකය නියම කරයි. නම් endසෘණ එය, එය අරාව අවසානයේ සිට ආපසු ඡන්ද ගණන් කිරීමේ විසින් නතර කිරීමට දර්ශකය විශේෂණය (උදා. -1 අවසන් දර්ශකය පළමුෙවන් ඇත). නම් end <= start, ප්රති result ලය හිස් අරාවකි.
let a = [0,1,2,3,4]
let slices = [
a.slice(0,2),
a.slice(2,2),
a.slice(2,3),
a.slice(2,5) ]
// a [0,1,2,3,4]
// slices[0] [0 1]- - -
// slices[1] - - - - -
// slices[2] - -[3]- -
// slices[3] - -[2 4 5]
අරාව # පොප්
Array#popඅරාවකින් අවසාන මූලද්රව්යය ඉවත් කර එම මූලද්රව්යය නැවත ලබා දෙයි. මෙම මෙහෙයුම අරාවේ දිග වෙනස් කරයි.