Baseline Widely available *
ÐбÑÐµÐºÑ Array
, как и маÑÑÐ¸Ð²Ñ Ð² дÑÑгиÑ
ÑзÑкаÑ
пÑогÑаммиÑованиÑ, позволÑÐµÑ Ñ
ÑаниÑÑ ÐºÐ¾Ð»Ð»ÐµÐºÑÐ¸Ñ Ð¸Ð· неÑколÑкиÑ
ÑлеменÑов под одним именем пеÑеменной и Ð¸Ð¼ÐµÐµÑ Ð¼ÐµÑÐ¾Ð´Ñ Ð´Ð»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±ÑиÑ
опеÑаÑий Ñ Ð¼Ð°ÑÑивами.
ÐаÑÑÐ¸Ð²Ñ ÑвлÑÑÑÑÑ ÑпиÑкоподобнÑми обÑекÑами, ÑÑи пÑоÑоÑÐ¸Ð¿Ñ ÑодеÑÐ¶Ð°Ñ Ð¼ÐµÑÐ¾Ð´Ñ Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑий обÑ
ода и Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¼Ð°ÑÑива. Ðи ÑÐ°Ð·Ð¼ÐµÑ JavaScript-маÑÑива, ни ÑÐ¸Ð¿Ñ ÐµÐ³Ð¾ ÑлеменÑов не ÑвлÑÑÑÑÑ ÑикÑиÑованнÑми. ÐоÑколÑÐºÑ ÑÐ°Ð·Ð¼ÐµÑ Ð¼Ð°ÑÑива Ð¼Ð¾Ð¶ÐµÑ ÑвелиÑиваÑÑÑÑ Ð¸ ÑменÑÑаÑÑÑÑ Ð² лÑбое вÑемÑ, Ñо Ð½ÐµÑ Ð³Ð°ÑанÑии, ÑÑо маÑÑив окажеÑÑÑ Ð¿Ð»Ð¾ÑнÑм. То еÑÑÑ, пÑи ÑабоÑе Ñ Ð¼Ð°ÑÑивом Ð¼Ð¾Ð¶ÐµÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½ÑÑÑ ÑиÑÑаÑиÑ, ÑÑо ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑива, к коÑоÑÐ¾Ð¼Ñ Ð²Ñ Ð¾Ð±ÑаÑиÑеÑÑ, бÑÐ´ÐµÑ Ð¿ÑÑÑÑм и веÑнÑÑ undefined
. Ð Ñелом, ÑÑо ÑÐ´Ð¾Ð±Ð½Ð°Ñ Ñ
аÑакÑеÑиÑÑика; но еÑли ÑÑа оÑобенноÑÑÑ Ð¼Ð°ÑÑива не желаÑелÑна в ваÑем ÑпеÑиÑиÑеÑком ÑлÑÑае, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑаÑÑмоÑÑеÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑипизиÑованнÑÑ
маÑÑивов.
ÐекоÑоÑÑе полагаÑÑ, ÑÑо Ð²Ñ Ð½Ðµ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑ Ð¼Ð°ÑÑив в каÑеÑÑве аÑÑоÑиаÑивного маÑÑива. РлÑбом ÑлÑÑае, вмеÑÑо него Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе иÑполÑзоваÑÑ Ð¿ÑоÑÑÑе обÑекÑÑ
, Ñ
оÑÑ Ñ Ð½Ð¸Ñ
еÑÑÑ Ð¸ Ñвои подводнÑе камни. СмоÑÑиÑе поÑÑ ÐегковеÑнÑе JavaScript-ÑловаÑи Ñ Ð¿ÑоизволÑнÑми клÑÑами(англ.) в каÑеÑÑве пÑимеÑа.
ÐаÑÑÐ¸Ð²Ñ Ð² JavaScript индекÑиÑÑÑÑÑÑ Ñ Ð½ÑлÑ: пеÑвÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑива Ð¸Ð¼ÐµÐµÑ Ð¸Ð½Ð´ÐµÐºÑ, ÑавнÑй 0
, а Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ñледнего ÑлеменÑа Ñавен знаÑÐµÐ½Ð¸Ñ ÑвойÑÑва маÑÑива length
минÑÑ 1.
const arr = ["пеÑвÑй ÑлеменÑ", "вÑоÑой ÑлеменÑ", "поÑледний ÑлеменÑ"];
console.log(arr[0]); // напеÑаÑÐ°ÐµÑ 'пеÑвÑй ÑлеменÑ'
console.log(arr[1]); // напеÑаÑÐ°ÐµÑ 'вÑоÑой ÑлеменÑ'
console.log(arr[arr.length - 1]); // напеÑаÑÐ°ÐµÑ 'поÑледний ÑлеменÑ'
ÐлеменÑÑ Ð¼Ð°ÑÑива ÑвлÑÑÑÑÑ ÑвойÑÑвами, ÑоÑно Ñакими же, как, напÑимеÑ, ÑвойÑÑво toString
, однако попÑÑка полÑÑиÑÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑива по имени его ÑвойÑÑва пÑиведÑÑ Ðº ÑинÑакÑиÑеÑкой оÑибке, поÑколÑÐºÑ Ð¸Ð¼Ñ ÑвойÑÑва не ÑвлÑеÑÑÑ Ð´Ð¾Ð¿ÑÑÑимÑм именем JavaScript:
console.log(arr.0); // ÑинÑакÑиÑеÑÐºÐ°Ñ Ð¾Ñибка
ÐÑо не оÑобенноÑÑÑ Ð¼Ð°ÑÑивов или иÑ
ÑвойÑÑв. Ð JavaScript к ÑвойÑÑвам, наÑинаÑÑимÑÑ Ñ ÑиÑÑÑ, невозможно обÑаÑиÑÑÑÑ Ð¿Ð¾ÑÑедÑÑвом ÑоÑеÑной ноÑаÑии; к ним можно обÑаÑиÑÑÑÑ ÑолÑко Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑкобоÑной ноÑаÑии. ÐапÑимеÑ, еÑли Ñ Ð²Ð°Ñ ÐµÑÑÑ Ð¾Ð±ÑÐµÐºÑ Ñо ÑвойÑÑвом, названнÑм '3d'
, Ð²Ñ ÑможеÑе обÑаÑиÑÑÑÑ Ðº Ð½ÐµÐ¼Ñ ÑолÑко поÑÑедÑÑвом ÑкобоÑной ноÑаÑии. ÐÑимеÑÑ:
const years = [1950, 1960, 1970, 1980, 1990, 2000, 2010];
console.log(years.0); // ÑинÑакÑиÑеÑÐºÐ°Ñ Ð¾Ñибка
console.log(years[0]); // ÑабоÑÐ°ÐµÑ ÐºÐ°Ðº положено
renderer.3d.setTexture(model, 'character.png'); // ÑинÑакÑиÑеÑÐºÐ°Ñ Ð¾Ñибка
renderer['3d'].setTexture(model, 'character.png'); // ÑабоÑÐ°ÐµÑ ÐºÐ°Ðº положено
ÐбÑаÑиÑе внимание, ÑÑо во вÑоÑом пÑимеÑе 3d
заклÑÑено в кавÑÑки: '3d'
. ÐндекÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ заклÑÑаÑÑ Ð² кавÑÑки (напÑÐ¸Ð¼ÐµÑ years['2']
вмеÑÑо years[2]
), но в ÑÑом Ð½ÐµÑ Ð½ÐµÐ¾Ð±Ñ
одимоÑÑи. ÐнаÑение 2 в вÑÑажении years[2]
бÑÐ´ÐµÑ Ð½ÐµÑвно пÑиведено к ÑÑÑоке движком JavaScript ÑеÑез меÑод пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ toString
. Ðменно по ÑÑой пÑиÑине клÑÑи '2'
и '02'
бÑдÑÑ ÑÑÑлаÑÑÑÑ Ð½Ð° два ÑазнÑÑ
ÑлеменÑа в обÑекÑе years
и ÑледÑÑÑий пÑÐ¸Ð¼ÐµÑ Ð²ÑÐ²ÐµÐ´ÐµÑ true
:
console.log(years["2"] != years["02"]);
ÐналогиÑно, к ÑвойÑÑвам обÑекÑа, ÑвлÑÑÑимÑÑ Ð·Ð°ÑезеÑвиÑованнÑми Ñловами(!) можно полÑÑиÑÑ Ð´Ð¾ÑÑÑп ÑолÑко поÑÑедÑÑвом ÑкобоÑной ноÑаÑии:
const promise = {
var: "text",
array: [1, 2, 3, 4],
};
console.log(promise["array"]);
ÐзаимоÑвÑÐ·Ñ ÑвойÑÑва length
Ñ ÑиÑловÑми ÑвойÑÑвами
СвойÑÑво маÑÑивов length
взаимоÑвÑзано Ñ ÑиÑловÑми ÑвойÑÑвами. ÐекоÑоÑÑе вÑÑÑоеннÑе меÑÐ¾Ð´Ñ Ð¼Ð°ÑÑива (напÑимеÑ, join
, slice
, indexOf
и Ñ.д.) ÑÑиÑÑваÑÑ Ð·Ð½Ð°Ñение ÑвойÑÑва length
пÑи ÑвоÑм вÑзове. ÐÑÑгие меÑÐ¾Ð´Ñ (напÑимеÑ, push
, splice
и Ñ.д.) в ÑезÑлÑÑаÑе Ñвоей ÑабоÑÑ Ñакже обновлÑÑÑ ÑвойÑÑво length
маÑÑива.
const fruits = [];
fruits.push("банан", "Ñблоко", "пеÑÑик");
console.log(fruits.length); // 3
ÐÑи ÑÑÑановке ÑвойÑÑва в маÑÑиве, еÑли ÑвойÑÑво Ð¸Ð¼ÐµÐµÑ Ð´ÐµÐ¹ÑÑвиÑелÑнÑй Ð¸Ð½Ð´ÐµÐºÑ Ð¸ ÑÑÐ¾Ñ Ð¸Ð½Ð´ÐµÐºÑ Ð²ÑÑ
Ð¾Ð´Ð¸Ñ Ð·Ð° пÑÐµÐ´ÐµÐ»Ñ ÑекÑÑиÑ
гÑÐ°Ð½Ð¸Ñ Ð¼Ð°ÑÑива, движок ÑооÑвеÑÑÑвÑÑÑим обÑазом Ð¾Ð±Ð½Ð¾Ð²Ð¸Ñ ÑвойÑÑво length
:
fruits[5] = "манго";
console.log(fruits[5]); // 'манго'
console.log(Object.keys(fruits)); // ['0', '1', '2', '5']
console.log(fruits.length); // 6
УвелиÑиваем ÑвойÑÑво length
fruits.length = 10;
console.log(Object.keys(fruits)); // ['0', '1', '2', '5']
console.log(fruits.length); // 10
Ðднако, ÑменÑÑение ÑвойÑÑва length
пÑиведÑÑ Ðº ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ ÑлеменÑов.
fruits.length = 2;
console.log(Object.keys(fruits)); // ['0', '1']
console.log(fruits.length); // 2
Ðолее подÑобно ÑÑа Ñема оÑвеÑена на ÑÑÑаниÑе, поÑвÑÑÑнной ÑвойÑÑÐ²Ñ Array.length
.
РезÑлÑÑаÑом ÑопоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑегÑлÑÑного вÑÑÐ°Ð¶ÐµÐ½Ð¸Ñ ÑÑÑоке ÑвлÑеÑÑÑ JavaScript-маÑÑив. ÐÑÐ¾Ñ Ð¼Ð°ÑÑив Ð¸Ð¼ÐµÐµÑ ÑвойÑÑва и ÑлеменÑÑ, пÑедоÑÑавлÑÑÑие инÑоÑмаÑÐ¸Ñ Ð¾ ÑопоÑÑавлении. ÐодобнÑе маÑÑÐ¸Ð²Ñ Ð²Ð¾Ð·Ð²ÑаÑаÑÑÑÑ Ð¼ÐµÑодами RegExp.exec
, String.match
и String.replace
. ЧÑÐ¾Ð±Ñ Ð±Ñло пÑоÑе понÑÑÑ, оÑкÑда и какие поÑвилиÑÑ ÑвойÑÑва и ÑлеменÑÑ, поÑмоÑÑиÑе ÑледÑÑÑий пÑÐ¸Ð¼ÐµÑ Ð¸ обÑаÑиÑеÑÑ Ðº ÑаблиÑе ниже:
// СопоÑÑавлÑеÑÑÑ Ñ Ð¾Ð´Ð½Ð¸Ð¼ Ñимволом d, за коÑоÑÑм ÑледÑÐµÑ Ð¾Ð´Ð¸Ð½
// или более Ñимволов b, за коÑоÑÑми ÑледÑÐµÑ Ð¾Ð´Ð¸Ð½ Ñимвол d
// ÐапоминаÑÑÑÑ ÑопоÑÑавивÑиеÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ b и ÑледÑÑÑий за ними Ñимвол d
// РегиÑÑÑ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ
const myRe = /d(b+)(d)/i;
const myArray = myRe.exec("cdbBdbsbz");
СвойÑÑва и ÑлеменÑÑ, возвÑаÑаемÑе из данного ÑопоÑÑавлениÑ, опиÑÐ°Ð½Ñ Ð½Ð¸Ð¶Ðµ:
СвойÑÑво/ÐÐ»ÐµÐ¼ÐµÐ½Ñ ÐпиÑание ÐÑимеÑinput
СвойÑÑво ÑолÑко Ð´Ð»Ñ ÑÑениÑ, оÑÑажаÑÑее оÑигиналÑнÑÑ ÑÑÑокÑ, Ñ ÐºÐ¾ÑоÑой ÑопоÑÑавлÑлоÑÑ ÑегÑлÑÑное вÑÑажение. cdbBdbsbz index
СвойÑÑво ÑолÑко Ð´Ð»Ñ ÑÑениÑ, ÑвлÑÑÑееÑÑ Ð¸Ð½Ð´ÐµÐºÑом (оÑÑÑÑÑ Ð½Ð°ÑинаеÑÑÑ Ñ Ð½ÑлÑ) в ÑÑÑоке, Ñ ÐºÐ¾ÑоÑого наÑалоÑÑ ÑопоÑÑавление. 1 [0]
ÐÐ»ÐµÐ¼ÐµÐ½Ñ ÑолÑко Ð´Ð»Ñ ÑÑениÑ, опÑеделÑÑÑий поÑледние ÑопоÑÑавивÑиеÑÑ ÑимволÑ. dbBd [1], ...[n]
ÐлеменÑÑ ÑолÑко Ð´Ð»Ñ ÑÑениÑ, опÑеделÑÑÑие ÑопоÑÑавивÑиеÑÑ Ð¿Ð¾Ð´ÑÑÑоки, заклÑÑÑннÑе в кÑÑглÑе Ñкобки, еÑли Ñе вклÑÑÐµÐ½Ñ Ð² ÑегÑлÑÑное вÑÑажение. ÐолиÑеÑÑво возможнÑÑ
подÑÑÑок не огÑаниÑено. [1]: bB [2]: d ÐонÑÑÑÑкÑоÑ
Array()
СоздаÑÑ Ð½Ð¾Ð²Ñй обÑÐµÐºÑ Array
.
Array[@@species]
ÐозвÑаÑÐ°ÐµÑ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¾Ñ Array
.
Array.from()
СоздаÑÑ Ð½Ð¾Ð²Ñй ÑкземплÑÑ Array
из иÑеÑиÑÑемого или маÑÑивоподобного обÑекÑа.
Array.fromAsync()
СоздаÑÑ Ð½Ð¾Ð²Ñй ÑкземплÑÑ Array
из аÑинÑ
Ñонно иÑеÑиÑÑемого, иÑеÑиÑÑемого или маÑÑивоподобного обÑекÑа.
Array.isArray()
ÐозвÑаÑÐ°ÐµÑ true
еÑли аÑгÑÐ¼ÐµÐ½Ñ ÑвлÑеÑÑÑ Ð¼Ð°ÑÑивом и false
в пÑоÑивном ÑлÑÑае.
Array.of()
СоздаÑÑ Ð½Ð¾Ð²Ñй ÑкземплÑÑ Array
Ñ Ð¿ÐµÑеменнÑм колиÑеÑÑвом аÑгÑменÑов, незавиÑимо Ð¾Ñ ÐºÐ¾Ð»Ð¸ÑеÑÑва или Ñипа аÑгÑменÑов.
ÐÑи ÑвойÑÑва опÑÐµÐ´ÐµÐ»ÐµÐ½Ñ Ð² Array.prototype
и еÑÑÑ Ñ Ð²ÑеÑ
ÑкземплÑÑов Array
.
Array.prototype.constructor
ФÑнкÑиÑ-конÑÑÑÑкÑоÑ, ÑоздаÑÑÐ°Ñ ÑкземплÑÑ Ð¾Ð±ÑекÑа. ÐÐ»Ñ ÑкземплÑÑов Array
наÑалÑнÑм знаÑением ÑвлÑеÑÑÑ ÐºÐ¾Ð½ÑÑÑÑкÑÐ¾Ñ Array
.
Array.prototype[@@unscopables]
СодеÑÐ¶Ð¸Ñ Ð¸Ð¼ÐµÐ½Ð° ÑвойÑÑв, коÑоÑÑе не вклÑÑÐµÐ½Ñ Ð² ÑÑандаÑÑ ECMAScript до веÑÑии ES2015 и коÑоÑÑе игноÑиÑÑÑÑÑÑ Ð¾Ð¿ÐµÑаÑоÑом with
.
СобÑÑвеннÑе ÑвойÑÑва каждого ÑкземплÑÑа Array
:
length
ÐÑÑÐ°Ð¶Ð°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑлеменÑов в маÑÑиве.
Array.prototype.at()
ÐозвÑаÑÐ°ÐµÑ ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑива Ñ ÑказаннÑм индекÑом. ÐÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð¾ÑÑиÑаÑелÑнÑе знаÑениÑ, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ Ð¾ÑÑÑÑÑ Ð¸Ð´ÑÑ Ñ ÐºÐ¾Ð½Ñа маÑÑива.
Array.prototype.concat()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив, коÑоÑÑй ÑвлÑеÑÑÑ Ð¾Ð±Ñединением ÑекÑÑего Ñ Ð´ÑÑгими маÑÑивами или знаÑениÑми.
Array.prototype.copyWithin()
ÐопиÑÑÐµÑ Ð¿Ð¾ÑледоваÑелÑноÑÑÑ ÑлеменÑов внÑÑÑи маÑÑива.
Array.prototype.entries()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй обÑÐµÐºÑ array iterator, коÑоÑÑй ÑодеÑÐ¶Ð¸Ñ Ð¿Ð°ÑÑ ÐºÐ»ÑÑ/знаÑение Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ индекÑа в маÑÑиве.
Array.prototype.every()
ÐозвÑаÑÐ°ÐµÑ true
еÑли Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлеменÑа маÑÑива пеÑÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² каÑеÑÑве аÑгÑменÑа ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ true
.
Array.prototype.fill()
ÐаполнÑÐµÑ Ð²Ñе ÑлеменÑÑ Ð¼Ð°ÑÑива Ð¾Ñ Ð½Ð°ÑалÑного индекÑа до поÑледнего ÑказаннÑм знаÑением.
Array.prototype.filter()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив, ÑодеÑжаÑий вÑе ÑлеменÑÑ Ð¸ÑÑ
одного маÑÑива, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ
пеÑÐµÐ´Ð°Ð½Ð½Ð°Ñ ÑÑнкÑÐ¸Ñ Ð²ÐµÑнÑла true
.
Array.prototype.find()
ÐозвÑаÑÐ°ÐµÑ Ð·Ð½Ð°Ñение пеÑвого ÑлеменÑа маÑÑива, Ð´Ð»Ñ ÐºÐ¾ÑоÑого пеÑÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² каÑеÑÑве аÑгÑменÑа ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ true
, или undefined
еÑли ÑакиÑ
ÑлеменÑов неÑ.
Array.prototype.findIndex()
ÐозвÑаÑÐ°ÐµÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¿ÐµÑвого ÑлеменÑа маÑÑива, Ð´Ð»Ñ ÐºÐ¾ÑоÑого пеÑÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² каÑеÑÑве аÑгÑменÑа ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ true
, или -1
еÑли ÑакиÑ
ÑлеменÑов неÑ.
Array.prototype.findLast()
ÐозвÑаÑÐ°ÐµÑ Ð·Ð½Ð°Ñение поÑледнего ÑлеменÑа маÑÑива, Ð´Ð»Ñ ÐºÐ¾ÑоÑого пеÑÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² каÑеÑÑве аÑгÑменÑа ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ true
, или undefined
еÑли ÑакиÑ
ÑлеменÑов неÑ.
Array.prototype.findLastIndex()
ÐозвÑаÑÐ°ÐµÑ Ð¸Ð½Ð´ÐµÐºÑ Ð¿Ð¾Ñледнего ÑлеменÑа маÑÑива, Ð´Ð»Ñ ÐºÐ¾ÑоÑого пеÑÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² каÑеÑÑве аÑгÑменÑа ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ true
, или -1
еÑли ÑакиÑ
ÑлеменÑов неÑ.
Array.prototype.flat()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив, ÑодеÑжаÑий ÑлеменÑÑ Ð²ÑÐµÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½ÑÑ Ð¼Ð°ÑÑивов до Ñказанной глÑбинÑ.
Array.prototype.flatMap()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив, ÑÑоÑмиÑованнÑй вÑзовом пеÑеданной ÑÑнкÑии Ñ ÐºÐ°Ð¶Ð´Ñм ÑлеменÑом, а заÑем «ÑплоÑÑннÑй» на один ÑÑовенÑ.
Array.prototype.forEach()
ÐÑзÑÐ²Ð°ÐµÑ ÑÑнкÑÐ¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлеменÑа маÑÑива.
Array.prototype.includes()
ÐозвÑаÑÐ°ÐµÑ true
, еÑли маÑÑив ÑодеÑÐ¶Ð¸Ñ Ð¿ÐµÑеданное знаÑение и false
в пÑоÑивном ÑлÑÑае.
Array.prototype.indexOf()
ÐозвÑаÑÐ°ÐµÑ Ð¿ÐµÑвÑй (наименÑÑий) индекÑ, по коÑоÑÐ¾Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½ пеÑеданнÑй ÑлеменÑ.
Array.prototype.join()
ÐбÑединÑÐµÑ Ð²Ñе ÑлеменÑÑ Ð¼Ð°ÑÑива в ÑÑÑокÑ.
Array.prototype.keys()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй обÑÐµÐºÑ array iterator, коÑоÑÑй ÑодеÑÐ¶Ð¸Ñ ÐºÐ»ÑÑи каждого индекÑа маÑÑива.
Array.prototype.lastIndexOf()
ÐозвÑаÑÐ°ÐµÑ Ð¿Ð¾Ñледний (наиболÑÑий) индекÑ, по коÑоÑÐ¾Ð¼Ñ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°Ð¹Ð´ÐµÐ½ пеÑеданнÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¸Ð»Ð¸ -1
еÑли ÑакиÑ
ÑлеменÑов неÑ.
Array.prototype.map()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив, ÑодеÑжаÑий ÑезÑлÑÑÐ°Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑеданной ÑÑнкÑии к ÐºÐ°Ð¶Ð´Ð¾Ð¼Ñ ÑлеменÑÑ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ маÑÑива.
Array.prototype.pop()
УдалÑÐµÑ Ð¿Ð¾Ñледний ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑива и возвÑаÑÐ°ÐµÑ ÐµÐ³Ð¾ знаÑение.
Array.prototype.push()
ÐобавлÑÐµÑ Ð¾Ð´Ð¸Ð½ или более ÑлеменÑов в ÐºÐ¾Ð½ÐµÑ Ð¼Ð°ÑÑива и возвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ð¾Ðµ знаÑение length
маÑÑива.
Array.prototype.reduce()
ÐÑзÑÐ²Ð°ÐµÑ ÑказаннÑÑ ÑÑнкÑиÑ-ÑедÑÑÑÐµÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлеменÑа маÑÑива (Ñлева напÑаво) Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½ÑÑвенного знаÑениÑ.
Array.prototype.reduceRight()
ÐÑзÑÐ²Ð°ÐµÑ ÑказаннÑÑ ÑÑнкÑиÑ-ÑедÑÑÑÐµÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑлеменÑа маÑÑива (ÑпÑава налево) Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½ÑÑвенного знаÑениÑ.
Array.prototype.reverse()
ÐзменÑÐµÑ Ð¿Ð¾ÑÑдок ÑлеменÑов маÑÑива на меÑÑе (Ñо еÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑ Ð¸ÑÑ Ð¾Ð´Ð½Ñй маÑÑив) на обÑаÑнÑй (пеÑвÑй ÑÑÐ°Ð½ÐµÑ Ð¿Ð¾Ñледним, поÑледний â пеÑвÑм).
Array.prototype.shift()
УдалÑÐµÑ Ð¿ÐµÑвÑй ÑÐ»ÐµÐ¼ÐµÐ½Ñ Ð¼Ð°ÑÑива и возвÑаÑÐ°ÐµÑ ÐµÐ³Ð¾ знаÑение.
Array.prototype.slice()
ÐÐ·Ð²Ð»ÐµÐºÐ°ÐµÑ ÑаÑÑÑ Ð¼Ð°ÑÑива и возвÑаÑÐ°ÐµÑ ÐµÑ Ð² виде нового маÑÑива.
Array.prototype.some()
ÐозвÑаÑÐ°ÐµÑ true
еÑли Ñ
оÑÑ Ð±Ñ Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ ÑлеменÑа маÑÑива пеÑÐµÐ´Ð°Ð½Ð½Ð°Ñ Ð² каÑеÑÑве аÑгÑменÑа ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ true
.
Array.prototype.sort()
СоÑÑиÑÑÐµÑ ÑлеменÑÑ Ð¼Ð°ÑÑива на меÑÑе (Ñо еÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑ Ð¸ÑÑ Ð¾Ð´Ð½Ñй маÑÑив) и возвÑаÑÐ°ÐµÑ Ð¼Ð°ÑÑив.
Array.prototype.splice()
ÐобавлÑÐµÑ Ð¸/или ÑдалÑÐµÑ ÑлеменÑÑ Ð¼Ð°ÑÑива.
Array.prototype.toLocaleString()
ÐозвÑаÑÐ°ÐµÑ Ð»Ð¾ÐºÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½ÑÑ ÑÑÑокÑ, пÑедÑÑавлÑÑÑÑÑ Ð¸ÑÑ
однÑй маÑÑив и его ÑлеменÑÑ. ÐеÑеопÑеделÑÐµÑ Ð¼ÐµÑод Object.prototype.toLocaleString()
.
Array.prototype.toReversed()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив Ñ ÑлеменÑами в обÑаÑном поÑÑдке без Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ маÑÑива.
Array.prototype.toSorted()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив Ñ Ð¾ÑÑоÑÑиÑованнÑми по возÑаÑÑÐ°Ð½Ð¸Ñ ÑлеменÑами без Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ маÑÑива.
Array.prototype.toSpliced()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив Ñ ÑдалÑннÑми и/или заменÑннÑми ÑлеменÑами без Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ маÑÑива.
Array.prototype.toString()
ÐозвÑаÑÐ°ÐµÑ ÑÑÑокÑ, пÑедÑÑавлÑÑÑÑÑ Ð¸ÑÑ
однÑй маÑÑив и его ÑлеменÑÑ. ÐеÑеопÑеделÑÐµÑ Ð¼ÐµÑод Object.prototype.toString()
.
Array.prototype.unshift()
ÐобавлÑÐµÑ Ð¾Ð´Ð¸Ð½ или более ÑлеменÑов в наÑало маÑÑива и возвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ð¾Ðµ знаÑение length
маÑÑива.
Array.prototype.values()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй обÑÐµÐºÑ array iterator, коÑоÑÑй ÑодеÑÐ¶Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ индекÑа маÑÑива.
Array.prototype.with()
ÐозвÑаÑÐ°ÐµÑ Ð½Ð¾Ð²Ñй маÑÑив Ñ Ð·Ð°Ð¼ÐµÐ½ÑннÑм знаÑением ÑлеменÑа Ñ ÑказаннÑм индекÑом без Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ маÑÑива.
Array.prototype[@@iterator]()
ÐÑевдоним меÑода values()
.
СледÑÑÑий пÑÐ¸Ð¼ÐµÑ ÑоздаÑÑ Ð¼Ð°ÑÑив msgArray
Ñ Ð´Ð»Ð¸Ð½Ð¾Ð¹ 0, пÑиÑÐ²Ð°Ð¸Ð²Ð°ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÑлеменÑам msgArray[0]
и msgArray[99]
, ÑÑо изменÑÐµÑ Ð´Ð»Ð¸Ð½Ñ Ð¼Ð°ÑÑива на 100.
const msgArray = [];
msgArray[0] = "ÐÑивеÑ";
msgArray[99] = "миÑ";
if (msgArray.length === 100) {
console.log("Ðлина Ñавна 100.");
}
Создание маÑÑива
const fruits = ["Яблоко", "Ðанан"];
console.log(fruits.length);
// 2
ÐоÑÑÑп к ÑлеменÑÑ Ð¼Ð°ÑÑива по индекÑÑ
const first = fruits[0];
// Яблоко
const last = fruits[fruits.length - 1];
// Ðанан
ÐÑеÑиÑование по маÑÑивÑ
fruits.forEach(function (item, index, array) {
console.log(item, index);
});
// Яблоко 0
// Ðанан 1
Ðобавление ÑлеменÑа в ÐºÐ¾Ð½ÐµÑ Ð¼Ð°ÑÑива
const newLength = fruits.push("ÐпелÑÑин");
// ["Яблоко", "Ðанан", "ÐпелÑÑин"]
Удаление поÑледнего ÑлеменÑа маÑÑива
const last = fruits.pop(); // Ñдалим ÐпелÑÑин (из конÑа)
// ["Яблоко", "Ðанан"];
Удаление пеÑвого ÑлеменÑа маÑÑива
const first = fruits.shift(); // Ñдалим Яблоко (из наÑала)
// ["Ðанан"];
Ðобавление ÑлеменÑа в наÑало маÑÑива
const newLength = fruits.unshift("ÐлÑбника"); // добавлÑÐµÑ Ð² наÑало
// ["ÐлÑбника", "Ðанан"];
ÐоиÑк номеÑа ÑлеменÑа в маÑÑиве
fruits.push("Ðанго");
// ["ÐлÑбника", "Ðанан", "Ðанго"]
const pos = fruits.indexOf("Ðанан");
// 1
Удаление ÑлеменÑа Ñ Ð¾Ð¿ÑеделÑннÑм индекÑом
const removedItem = fruits.splice(pos, 1); // Ñак можно ÑдалиÑÑ ÑлеменÑ
// ["ÐлÑбника", "Ðанго"]
Удаление неÑколÑкиÑ
ÑлеменÑов, наÑÐ¸Ð½Ð°Ñ Ñ Ð¾Ð¿ÑеделÑнного индекÑа
Ð ÑÑом пÑимеÑе меÑод splice()
иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÑÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¸Ð· маÑÑива fruits
ÑÑÑок "Ðанан"
и "ÐлÑбника"
Ñ Ñказанием индекÑа ÑÑÑоки "Ðанан"
и колиÑеÑÑва ÑлеменÑов, коÑоÑÑе нÑжно ÑдалиÑÑ.
const fruits = ["Яблоко", "Ðанан", "ÐлÑбника", "Ðанго"];
const start = 1;
const deleteCount = 2;
const removedItems = fruits.splice(start, deleteCount);
console.log(fruits);
// ["Яблоко", "Ðанго"]
console.log(removedItems);
// ["Ðанан", "ÐлÑбника"]
Создание копии маÑÑива
const shallowCopy = fruits.slice(); // Ñак можно ÑоздаÑÑ ÐºÐ¾Ð¿Ð¸Ñ Ð¼Ð°ÑÑива
// ["ÐлÑбника", "Ðанго"]
ÐÑимеÑ: Ñоздание двÑмеÑного маÑÑива
СледÑÑÑий код ÑоздаÑÑ ÑÐ°Ñ Ð¼Ð°ÑнÑÑ Ð´Ð¾ÑÐºÑ Ð² виде двÑмеÑного маÑÑива ÑÑÑок. ÐаÑем он пеÑемеÑÐ°ÐµÑ Ð¿ÐµÑÐºÑ Ð¿ÑÑÑм копиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñимвола 'p' в позиÑии (6,4) на позиÑÐ¸Ñ (4,4). СÑаÑÐ°Ñ Ð¿Ð¾Ð·Ð¸ÑÐ¸Ñ (6,4) заÑиÑаеÑÑÑ Ð¿ÑÑÑÑм меÑÑом.
const board = [
["R", "N", "B", "Q", "K", "B", "N", "R"],
["P", "P", "P", "P", "P", "P", "P", "P"],
[" ", " ", " ", " ", " ", " ", " ", " "],
[" ", " ", " ", " ", " ", " ", " ", " "],
[" ", " ", " ", " ", " ", " ", " ", " "],
[" ", " ", " ", " ", " ", " ", " ", " "],
["p", "p", "p", "p", "p", "p", "p", "p"],
["r", "n", "b", "q", "k", "b", "n", "r"],
];
console.log(board.join("\n") + "\n\n");
// Ðвигаем коÑолевÑкÑÑ Ð¿ÐµÑÐºÑ Ð²Ð¿ÐµÑÑд на две клеÑки
board[4][4] = board[6][4];
board[6][4] = " ";
console.log(board.join("\n"));
Ðиже показан вÑвод:
R,N,B,Q,K,B,N,R P,P,P,P,P,P,P,P , , , , , , , , , , , , , , , , , , , , , , , , , , , , p,p,p,p,p,p,p,p r,n,b,q,k,b,n,r R,N,B,Q,K,B,N,R P,P,P,P,P,P,P,P , , , , , , , , , , , , , , , , , ,p, , , , , , , , , , p,p,p,p, ,p,p,p r,n,b,q,k,b,n,rСпеÑиÑикаÑии СовмеÑÑимоÑÑÑ Ñ Ð±ÑаÑзеÑами СмоÑÑиÑе Ñакже
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4