2 回答
TA贡献1821条经验 获得超4个赞
既然你提到了循环,那么这里是如何使用循环来做到这一点:
如果您知道中的“索引号”data1.txt不会跳过任何数字:
for(let i = 0; i < data2.length; i++) {
let index = data2[i];
console.log(data1[index]);
}
否则,您可以像这样使用嵌套循环:
for(let i = 0; i < data2.length; i++) {
let index = data2[i];
for(let j = 0; j < data1.length; j++)
{
let line = data1[j];
let lineArr = line.split(" ");
if(lineArr[0] == index) {
console.log(line);
}
}
}
TA贡献1829条经验 获得超13个赞
为了比较这两个字符串,它们需要在数组(或类似的东西)中。
看一下:
let text1 = document.getElementById("originaltext").innerHTML.trimRight();
let compare1 = document.getElementById("comparevalues").innerHTML.trimRight();
let a1 = text1.split("\n");
console.log(a1);
let c1 = compare1.split("\n");
console.log(c1);
const r1 = a1.filter(a => c1.includes(a.split(" ")[0]));
console.log(r1);
<pre id="originaltext">
1 200 50
2 100 25
3 200 63
4 123 456
5 124 200
6 700 500
7 600 500
8 200 121
9 300 100
</pre>
<pre id="comparevalues">
3
5
8
</pre>
这将从示例中的 PRE 标记中读取字符串(但会从您的原始文本字符串中读取)并将它们转换为数组。如果第一个数字出现在第二个列表中并返回一个新的结果数组,则使用“includes”过滤第一个列表
添加回答
举报