Javascript 使用特定元素从现有数组创建新数组
我仍在学习,我试图找到解决方案,但我认为我遗漏了/忽略了一些东西,似乎无法破解 我正在创建一个node.js文件 我有这个功能,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
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
notnewArray=[明天]
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; })