js数组小集

250 阅读1分钟

1. 如何判断一个数组是数组

方式一: 数组名称 instanceof Array

var temp = {name: ['zs','ls','ww'], age: 18}
// 验证
temp instanceof Array  // false
temp.name instanceof Array  // true

方式二: 数组名称.constructor

var temp = {name: ['zs','ls','ww'], age: 18}
// 验证
temp.constructor === Array // false
temp.name.constructor === Array // true

方式三:Object.prototype.toString.call(数组名称)

var temp = {name: ['zs','ls','ww'], age: 18}
// 验证
Object.prototype.toString.call(temp.name) // [object Array]
Object.prototype.toString.call(temp) // [object Object]

方式四:Array.isArray(数组名称)

var temp = {name: ['zs','ls','ww'], age: 18}
// 验证
Array.isArray(temp)  // false
Array.isArray(temp.name) // true

参考资料1 参考资料2

2. 数组指定元素交换位置

var arr = [1,2,3,4,5]
// 目标是数组变成这个样子[1,3,2,4,5] 将索引2,3位置上的元素进行交换
arr.splice(2, 0, arr.splice(1, 1)[0])   // new索引,0个,旧的索引
console.log(arr) [1, 3, 2, 4, 5]