【JavaScript进阶之旅 数组篇(下)】数组相关方法(conca、toString、slice、join、split) 类数组

【JavaScript进阶之旅 数组篇(下)】数组相关方法(conca、toString、slice、join、split) 类数组,第1张

文章目录 一、数组方法(返回新的数组)1、concat2、toString()3、slice4、join跟splitjoinsplit 二、类数组1、什么是类数组2、将对象更改为类数组3、类数组面试题(阿里)

一、数组方法(返回新的数组) 1、concat 用法:在一个数组上拼接另一个数组返回值:返回一个新数组,不改变原数组
var arr1 = [1, 2];
var arr2 = [3, 4];

var arr3 = arr1.concat(arr2);
console.log(arr3, arr1, arr2);
2、toString() 将数组转换为字符串返回值:返回新字符串,转换成的字符串
var arr = [1, 2, 3];

console.log(arr, arr.toString()); // [1, 2, 3]  '1,2,3'
3、slice 无参数时: 新建数组有参数时: 有一个参数时:从该参数开始截取(包含该参数),一直截取到末尾有两个参数时:从第一个参数开始截取(包含该参数),一直截取到第二个参数的位置(不包含该参数)
var arr = [1, 2, 3, 4, 5];

arr.slice(); // [1, 2, 3, 4, 5]
arr.slice(1, 3); // [2, 3]
arr.slice(-3, -1); // [3, 4]

4、join跟split join 用法:以他的参数把数组分割为字符串返回值:返回一个新数组,分割后的字符串
var arr = [1, 2, 3];
console.log(arr.join()); // 1,2,3
console.log(arr.join('')); // 123
console.log(arr.join('-')); // 1-2-3
split 用法:将字符串以他的参数为分隔符转换成数组参数: 第一个参数:分隔符第二个参数:分割后数组的长度(length) 返回值:返回一个新数组,字符串分割成的数组
var arr = [1, 2, 3];
var str = arr.join('-');
console.log(str); // '1-2-3'
var arr1 = str.split('-', 1);
console.log(arr1); // [1]
二、类数组 1、什么是类数组 argumentsDOM方法:document.getElementsByTagName(‘div’)
function test() {
	arguments.push(3); // 报错
}
test(1,2,3);

他两都没有push方法,说明他们没有继承Array.prototype,他们叫做类数组

类数组的原型是Object数组的原型是Array 2、将对象更改为类数组

对象更改为类数组方式:

对象上有length属性(数组的特性,下标为数组特性的)继承Array的任意方法
var obj = {
	'0': 1,
	'1': 2,
	'length': 2
}

console.log(obj); // {...}

// 类数组
var obj2 = {
	'0': 1,
	'1': 2,
	'length': 2,
	'splice': Array.prototype.splice
}
console.log(obj2); //[...]
3、类数组面试题(阿里)
var obj = {
	'2': 3,
	'3': 4,
	'length': 2,
	'splice': Array.prototype.splice,
	'push': Array.prototype.push
}

obj.push(1);
obj.push(2);
console.log(obj); 

// 分析:obj[2] = 1; obj[3] = 2;

// 所以输出:[empty * 2, 1, 2 ....]

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1322228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-12
下一篇 2022-06-12

发表评论

登录后才能评论

评论列表(0条)

保存