[英]Filter Certain Lines In Javascript
我正在尝试使用Javascript从输入中过滤某些行,而我有以下输入:
Interface name : Wi-Fi 5
There are 15 networks currently visible.
SSID 1 : 9bf6fe
Network type : Infrastructure
Authentication : WPA2-Personal
Encryption : CCMP
SSID 2 : melitaWIFI
Network type : Infrastructure
Authentication : Open
Encryption : None
在这种情况下,如何使用JS仅每五行提交一次?
如果您的输入存储在变量中:
var input = "a\nb\nc\nd\ne\nf\ng\nh\ni\nj\nk\nl";
var lines = input.split("\n");
for (i = 4; i < lines.length; i += 5) {
console.log(lines[i]);
}
取得第5行
首先,您可以使用split()
方法获取行数组:
var lines = input.split("\n");
然后,您可以遍历此数组,并且对于第5个项目,可以将行添加到新数组:
var results = [];
for(var i = 0; i < lines.length; i++){
var line = lines[i];
if((i + 1) % 5 == 0)
results.push(line);
}
获取特定键的值
如果您想获取诸如"Network type"
值,则可以创建一个函数来查找所有监视键值:
function getValuesForKey(lines, key) {
var results = [];
for (var i = 0; i < lines.length; i++) {
var line = lines[i];
var pairs = line.split(":");
if (pairs.length == 2 && pairs[0].trim() == key) {
results.push(pairs[1].trim());
}
}
return results;
}
var lines = input.split("\n");
var results = getValuesForKey(lines, "Network type");
console.log(results);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.