Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于范围和选定索引值分析数组_Javascript_Arrays_Parsing_Filter - Fatal编程技术网

Javascript 基于范围和选定索引值分析数组

Javascript 基于范围和选定索引值分析数组,javascript,arrays,parsing,filter,Javascript,Arrays,Parsing,Filter,我有一个嵌套数组,它有长度为6的子数组和字符串值。我还有两个变量具有如下浮点值: var test_array =[["06101123", "0", "0.2", "34011", "Cumberland", "Local", "Fernwood Avenue"], ["02271163", "0.1", &qu

我有一个嵌套数组,它有长度为6的子数组和字符串值。我还有两个变量具有如下浮点值:

var test_array =[["06101123", "0", "0.2", "34011", "Cumberland", "Local", "Fernwood Avenue"],
  ["02271163", "0.1", "0.22", "34003", "Bergen", "Local", "Fernwood Avenue"],
  ["04351186", "0.3", "0.59", "34007", "Camden", "Local", "Fernwood Avenue"],
  ["07131150", "0", "0.3", "34013", "Essex", "Local", "Beacon Street"],
  ["03041026", "0", "0.13", "34005", "Burlington", "Local", "Beacon Street"],
  ["20121109", "0.18", "0.43", "34039", "Union", "Local", "Jones Lane"],
  ["15141139", "0", "0.27", "34029", "Ocean", "Local", "Jones Lane"]];
var pt_one=0.1; var pt_two=0.59; var street=“芬伍德大道”

我想用pt_1和pt_2作为低-高范围。我想迭代子数组并创建一个新数组,其中子数组[1]等于或大于pt_-one,子数组[2]小于或等于pt_-two,子数组[6]=street,并将该数组推到一个新的数组中。例如,此场景中的输出为:

 new_array =[["02271163", "0.1", "0.22", "34003", "Bergen", "Local", "Fernwood Avenue"],
  ["04351186", "0.3", "0.59", "34007", "Camden", "Local", "Fernwood Avenue"]];
如何实现这一点?

这是一个基本的filter()操作,您可以在其中检查每个条件

var pt_one=0.1;var pt_two=0.59;var street=“芬伍德大道”;
var测试_数组=[[“06101123”、“0”、“0.2”、“34011”、“坎伯兰”、“本地”、“弗恩伍德大道”],
[“02271163”、“0.1”、“0.22”、“34003”、“卑尔根”、“本地”、“芬伍德大道”],
[“04351186”、“0.3”、“0.59”、“3407”、“卡姆登”、“本地”、“芬伍德大道”],
[“07131150”、“0”、“0.3”、“34013”、“埃塞克斯”、“当地”、“比肯街”],
[“03041026”、“0”、“0.13”、“34005”、“伯灵顿”、“本地”、“比肯街”],
[“20121109”、“0.18”、“0.43”、“34039”、“联合”、“本地”、“琼斯巷”],
[“15141139”、“0”、“0.27”、“34029”、“海洋”、“本地”、“琼斯巷”];
常量res=test_array.filter(arr=>{
return arr[6]===street&&arr[1]>=pt\u one&&arr[2]这是一个基本的filter()操作,您可以在其中检查每个条件

var pt_one=0.1;var pt_two=0.59;var street=“Fernwood Avenue”;
var测试_数组=[[“06101123”、“0”、“0.2”、“34011”、“坎伯兰”、“本地”、“弗恩伍德大道”],
[“02271163”、“0.1”、“0.22”、“34003”、“卑尔根”、“本地”、“芬伍德大道”],
[“04351186”、“0.3”、“0.59”、“3407”、“卡姆登”、“本地”、“芬伍德大道”],
[“07131150”、“0”、“0.3”、“34013”、“埃塞克斯”、“当地”、“比肯街”],
[“03041026”、“0”、“0.13”、“34005”、“伯灵顿”、“本地”、“比肯街”],
[“20121109”、“0.18”、“0.43”、“34039”、“联合”、“本地”、“琼斯巷”],
[“15141139”、“0”、“0.27”、“34029”、“海洋”、“本地”、“琼斯巷”];
常量res=test_array.filter(arr=>{

使用
filter
返回arr[6]===street&&arr[1]>=pt\u one&&arr[2],这还检查比较中的
类型
编号以及street上的大写/空白问题

var测试\u数组=[
[“06101123”、“0”、“0.2”、“34011”、“坎伯兰”、“当地”、“芬伍德大道”],
[“02271163”、“0.1”、“0.22”、“34003”、“卑尔根”、“本地”、“芬伍德大道”],
[“04351186”、“0.3”、“0.59”、“3407”、“卡姆登”、“本地”、“芬伍德大道”],
[“07131150”、“0”、“0.3”、“34013”、“埃塞克斯”、“当地”、“比肯街”],
[“03041026”、“0”、“0.13”、“34005”、“伯灵顿”、“本地”、“比肯街”],
[“20121109”、“0.18”、“0.43”、“34039”、“联合”、“本地”、“琼斯巷”],
[“15141139”、“0”、“0.27”、“34029”、“海洋”、“本地”、“琼斯巷”]
];
功能findIt(低、高、街道){
返回测试数组.filter(el=>

+el[1]>=low&&+el[2]使用
过滤器
,这也会检查比较中的
类型
编号以及街道上的大写/空白问题

var测试\u数组=[
[“06101123”、“0”、“0.2”、“34011”、“坎伯兰”、“当地”、“芬伍德大道”],
[“02271163”、“0.1”、“0.22”、“34003”、“卑尔根”、“本地”、“芬伍德大道”],
[“04351186”、“0.3”、“0.59”、“3407”、“卡姆登”、“本地”、“芬伍德大道”],
[“07131150”、“0”、“0.3”、“34013”、“埃塞克斯”、“当地”、“比肯街”],
[“03041026”、“0”、“0.13”、“34005”、“伯灵顿”、“本地”、“比肯街”],
[“20121109”、“0.18”、“0.43”、“34039”、“联合”、“本地”、“琼斯巷”],
[“15141139”、“0”、“0.27”、“34029”、“海洋”、“本地”、“琼斯巷”]
];
功能findIt(低、高、街道){
返回测试数组.filter(el=>

+el[1]>=low&&+el[2]这两种解决方案都很好。我喜欢这会将街道名称修剪并设置为小写。有一点我不明白(尽管该解决方案有效),那就是低值和高值都是数字,test_数组[1]和[2]都是字符串值。我实际上是使用parseFlot(test_数组[1])运行它的…在代码中,它失败了,但完全按照上面的方法使用它,没有问题。这两种解决方案都很好。我喜欢这样做,即将街道名称修剪为小写。有一点我不明白(尽管解决方案有效),即低值和高值都是数字,而test_数组[1]和[2]是字符串值。实际上,我在代码中使用parseFlot(test_array[1])…运行了它,但失败了,但完全按照上面的方法使用,没有问题。