如何从数组中获取数字之前/之后的值
How to get values before/after a number from an array?
我的范围是1000 - 1200
我想要排除数字1002,1030和1040,并像这样获得它们之前和之后的范围:
1000 - 1001
1003 - 1029
1031 - 1039
1041 - 1200
我现在可以在这里输入数字并得到数组。
对于第二部分,我使用jQuery插件,但我认为我需要做一些其他的事情,以便能够传递数组作为参数。
我也不知道如何获得exclusion
function range(first, second) {
list = []
this.first = first;
this.second = second;
for (var i = first; i <= second; i++) {
list.push(i)
}
return list;
}
a = new range(1, 5)
console.log(a + " this is the original list")
exclusion = 3 //should be a array
listExcluded = jQuery.grep(list, function (value) {
return value != exclusion;
});
console.log(listExcluded + " this is value without excluded number")
下面是一个简单的示例…可以由js专家来优化。
function range(first, second) {
this.list = []
this.first = first;
this.second = second;
for (var i = first; i <= second; i++) {
this.list.push(i)
}
return this.list;
}
var a = new range(1, 10)
console.log(a + " this is the original list")
var ec = [3,6]; // should be a array
var b = []; // new array holding the sliced arrays
var start = 0;
for (var i = 0; i <= ec.length; i++) {
if (i == ec.length) {
b.push(a.slice(start))
} else {
b.push(a.slice(start,ec[i]-1))
start = ec[i];
}
}
for (var i = 0; i < b.length; i++) {
console.log("Array nr:" + (i+1) + ": " + b[i])
}
您需要的是一种算法,而不是特定于Javascript或JQuery的东西。试试这样写:
var initialList = range(1000, 1200);
var exclusions = [1002, 1030, 1040];
var result = [];
var currentSubList = [];
initialRange.forEach(function (v) {
if (exclusions.indexOf(v) > -1) {
if (currentSubList.length > 0) {
result.push(currentSubList);
currentSubList = [];
}
} else {
currentSubList.push(v);
}
});
if (currentSubList.length > 0) {
result.push(currentSubList);
}
相关文章:
- 删除第一个数字块之后的所有数字
- 正则表达式删除最后一个数字之后的字符串
- Javascript 正则表达式在特定单词或数字之后拆分
- 在javascript中的简单数学中,在循环中将数字X次相加会产生与事先乘以X并在之后相加不同的结果
- 错误:“标识符在数字文字 javascript 之后立即启动”
- 字符、符号或数字之前或之后的空格;但是,不介于两者之间
- 单击语法错误:标识符在数字文本之后立即开始
- eval 语法错误:标识符在数字文本之后立即开始
- 在字符串中的每个单词之后附加一个数字序列
- 语法错误:标识符在数字文本 asp.net 之后立即开始
- 11月20日之后,我销售数字商品的PHP和JavaScript代码还能工作吗
- SyntaxError:“;标识符紧接在数字文字“之后开始;
- 如何解决“;标识符紧接在数字文字“之后开始;
- 如何从数组中获取数字之前/之后的值
- 获取文本信息,对它们进行排序并编号,然后放入";;在数字和每个块之后
- 在node.js堆栈跟踪行中冒号之后的第二个数字是什么意思?
- 在特定的两个数字之后得到接下来的6个任意数字
- 在javascript中查找字符串之前或之后没有任何字母的数字
- SyntaxError:在Firebug中,标识符在数字文本之后立即开始
- 什么“?在 JavaScript 之后有一个数字是针对的