මෙම 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
අරාවකින් අවසාන මූලද්රව්යය ඉවත් කර එම මූලද්රව්යය නැවත ලබා දෙයි. මෙම මෙහෙයුම අරාවේ දිග වෙනස් කරයි.