我得到一个数据未知的数组.但我只有一个预定义的数据要显示/存储.如何获取初始数组的每个第n个元素并在JavaScript中减少它?
例如:我得到一个大小= 10000的数组,但只能显示n = 2k个元素.
我试着这样:delta = Math.round(10*n/size)/ 10 = 0.2 - >取初始数组的每个第5个元素.
for (i = 0; i < oldArr.length; i++) {
arr[i] = oldArr[i].filter(function (value, index, ar) {
if (index % delta != 0) return false;
return true;
});
}
Run Code Online (Sandbox Code Playgroud)
0.2为0.2总是0,但是有一些其他增量(0.3)它正在工作.对于delta = 0.4,我的工作方式相同,但每一个元素都采用该方法.我该怎么做才能让它发挥作用?
我必须从文件中读取数据.该数据由服务器按字节顺序写入文件.该文件有一个修复结构,现在我想用JS读取其中的信息.
我找到http://www.html5rocks.com/en/tutorials/file/dndfiles/并将其复制到小提琴:http://jsfiddle.net/egLof4ph/
function readBlob(opt_startByte, opt_stopByte) {
var files = document.getElementById('files').files;
if (!files.length) {
alert('Please select a file!');
return;
}
var file = files[0];
var start = parseInt(opt_startByte) || 0;
var stop = parseInt(opt_stopByte) || file.size - 1;
var reader = new FileReader();
// If we use onloadend, we need to check the readyState.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
document.getElementById('byte_content').textContent = evt.target.result;
document.getElementById('byte_range').textContent = ['Read bytes: ', start …Run Code Online (Sandbox Code Playgroud)