我有以下 json:
我需要根据浏览器的宽度将它拆分成多个数组。
这是我的javascript:
var imageArray = jQuery.parseJSON(data);
var splitArrayInto = jQuery(document).width() / 300;
splitArrayInto = Math.floor(splitArrayInto);
var seperateImageArrays = array_fill(0, splitArrayInto);
for(var i = 0; i < splitArrayInto; i++){
seperateImageArrays[i % splitArrayInto][i] = imageArray[i];
}
当我运行它时,我得到
无法将undefined 转换为对象
seperateImageArrays[i % splitArrayInto][i] = imageArray[i];
感谢任何帮助。
编辑: 忘记添加 array_fill 函数。
//PHP array_fill
function array_fill (start_index, num, mixed_val) {
var key, tmp_arr = {};
if (!isNaN(start_index) && !isNaN(num)) {
for (key = 0; key < num; key++) {
tmp_arr[(key + start_index)] = mixed_val;
}
}
return tmp_arr;
}
最佳答案
当您调用 array_fill
时,您没有传递第三个参数,因此您所有的数组元素都设置为 undefined
... 和 undefined
不能用 [i]
取消引用。
考虑将 []
作为第三个参数传递。
关于Javascript 平均拆分数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10870670/