需求:后台传入一个数组,我保存在data属性里面,但是data属性默认将数组变成字符串了,我如何在取出来的时候把这个字符串转换为数组
例子: data-time = [17-12-12,17-12-15, 12-11-10];
data('time') // '[17-12-12,17-12-15, 12-11-10]' (字符串)
有两种方法
1.通过遍历将伪数组里元素放入到一个新的数组里
let arg = arguments
let arr = []
for(var I = 0;I < arg.length;I ++){
arr.push(arg[i])
}
2.通过call改变数组slice方法里的this指向,让一个真正的数组直接从Array.prototype上执行slice方法,将其中的this换成伪数组
Array.prototype.slice = function(){
Let arr = []
for(var i = 0;i <this.length;i ++){
arr.push(this[i])
}
return arr
}
let arr = [].slice.call(arg)
Array.prototype.slice.call(arg)