Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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_Node.js - Fatal编程技术网

Javascript 使用特定元素从现有数组创建新数组

Javascript 使用特定元素从现有数组创建新数组,javascript,arrays,node.js,Javascript,Arrays,Node.js,我仍在学习,我试图找到解决方案,但我认为我遗漏了/忽略了一些东西,似乎无法破解 我正在创建一个node.js文件 我有这个功能, var goingTomorrow = rows.filter(ifDateTomorrow); function ifDateTomorrow(value) { return value[5] === dateTomorrow; } 它将数组中元素5===tomorrows date所在的所有行返回给变量Go

我仍在学习,我试图找到解决方案,但我认为我遗漏了/忽略了一些东西,似乎无法破解

我正在创建一个node.js文件

我有这个功能,

var goingTomorrow = rows.filter(ifDateTomorrow);
        function ifDateTomorrow(value) {
            return value[5] === dateTomorrow;
        }
它将数组中元素5===tomorrows date所在的所有行返回给变量GoingTomorrows,这样就行了

那么我有,

var sum = 0;
        for (var x = 0; x < goingTomorrow.length; x++) {
            sum += + goingTomorrow[x][6];
            }

console.log(goingTomorrow.length + ' Bookings: ' + sum + ' pax total for tomorrow'); 
但在电子邮件中,我想选择要输出的特定元素,并将其输出到一个数组中,每个结果都在一个新行上

这就是我想要的输出

John,w,2018-08-14,3,820467370,test address,john@xxx.com, 
James,M,2018-08-14,2,54546456,test address,james@xxx.com,
我尝试过foreach、map、reduce和newArray,但收效甚微

那么,如何使用我想要的特定元素创建一个新数组呢。我错过了什么?谢谢你

你可以用一个来表示你想要的索引并映射一个新的数组

var数组=[[1',John',w',tourname',2018-08-14',2018-08-14',3',820467370',test address',AS',0,'john@xxx.com,0,,[6,'James','M','tourname','2018-08-05','2018-08-14',2','546456','test address','AS',0','james@xxx.com', 0]],
result=array.map({1:name,2:gender,4:date,7:number,11:email})=>
[姓名、性别、日期、号码、电子邮件];
控制台日志(结果);

document.body.innerHTML+=result.join(“
”)看起来您想为此使用map函数。 map函数允许您为原始数组中的每个元素返回一个modify元素

例如:

newArray = originalArray.map((currentElementFromTheArray, indexOfThisElementInTheArray, originalArray) => { return newElement; })

谢谢尼娜,我也是,
var newArray=[goingtomory],result=newArray.map({1:name,2:lname,5:tourdate,7:phone,11:email})=>[name,lname,tourdate,phone,email]);console.log(result)
但在第一个字段之后,将所有字段映射为未定义字段<代码>['6','James','M','DWTCT','2018-08-05','2018-08-15','2','54546456','TestAddress','AS','0','james@sensison.com“,'0'],未定义,未定义,未定义,未定义]]
Ok我让它输出特定元素,我需要使用
newArrar=goingtomory
not
newArray=[明天]
Now将它们输出到新行,因为它们仍然在一行中输出。感谢您@Nina的帮助,现在可以更好地理解map的工作原理了。我现在可以根据需要获得数组输出,但它仍然在一行上,如何将新创建的数组中的每个数组放在自己的行上?感谢Nina,现在可以使用您建议的映射函数输出选定的数组元素。运行时,终端将每个阵列记录在自己的新行上,如,
[['Josh','w','2018-08-15','820467370','josh@xxx.com“],[“詹姆斯”、“M”、“2018-08-15”、“54546456”和james@xxx.com“]]
但在html中,它返回的是Josh,w,2018-08-15820467370,josh@xxx.com,詹姆斯,M,2018-08-155456,james@xxx.com,我想将其输出为
Josh,w,2018-08-15820467370,josh@xxx.com,
詹姆斯,M,2018-08-155456,james@xxx.com,
尝试添加“
”,但它破坏了数组。您可以使用

加入数组。也感谢您的输入,我使用上面的工作示例对数据进行了一些轻微的编辑。当时我正试图把我的脑袋绕在它周围,但这个例子使它更清晰了,我正在努力使文档成为现实。
newArray = originalArray.map((currentElementFromTheArray, indexOfThisElementInTheArray, originalArray) => { return newElement; })