【发布时间】:2016-02-23 00:37:05
【问题描述】:
我有两个数组,一个的长度比第二个长。我通过比较父数组中每个数组的第一个索引[1] 中的数字来循环。如下面代码的 if 语句中所写。如果两个子数组中的数字相等,则将这些数组推送到新数组。
但由于 'secondArr' 数组比另一个数组长,如果在 'arr' 中找不到该数字,那么我应该得到最接近 [1] 索引值的子数组。
短 newArray 应该与 secondArr 具有相同的长度,因为它比 arr 长。当在arr 中找不到任何值时,newArray 应该在secondArr 的情况下获取当前索引的子数组,并在arr 中获取与[1] 最接近的先前数组的子数组。例如:当在secondArr 中找到'250'、'270'、'280' 时,它们都应该从arr 中得到['fd', 250],因为arr 中的'250' 在[1] 中具有'250',这是最接近的值arr 中的前一个索引到 'secondArr' 中的数字当前循环索引
var arr = [
['asd', 100],
['fde', 200],
['fd', 250],
['asd',300],
['fa', 340]
]
var secondArr = [
['adzx', 100],
['tre', 140],
['vc', 200],
['brt', 250],
['azc', 270],
['sfds', 280],
['we', 300],
['jyt',550]
]
var i = secondArr.length;
var newArr = []
while(i--){
//TODO if arr[i][1] != secondArr[i][1] then arr[i-1][1]
if(arr[i][1] == secondArr[i][1]){
newArr.push(
[
arr[i],
secondArr[i]
]
)
}
}
所以我希望newArray 等于:
newArray = [
[ ['asd', 100],
['adzx', 100]
],
[
['asd', 100],
['tre', 140]
],
[
['fde', 200],
['vc', 200]
],
[
['fd', 250],
['brt', 250]
],
[
['fd', 250],
['azc', 270]
],
[
['fd', 250],
['sfds', 280]
],
[
['asd',300],
['we', 300]
],
[
['fa', 340],
['jyt',550]
],
]
在arr 和secondArray 的当前情况下
【问题讨论】:
-
那么你的问题是什么?
-
原谅我,但我没有看到任何问题。在寻找什么?
-
请添加一些示例解决方案数组。
-
现在清楚了吗?你了解数组应该是什么样子吗?
-
@developer,感谢您添加的数组。很清楚,你想要什么。
标签: javascript arrays arraylist while-loop