假设我有一个字符串数组,我需要来自它们的具体信息,这将是一种简单的方法吗?
假设数组是这样的:
let infoArr = [
"1 Ben Howard 12/16/1988 apple",
"2 James Smith 1/10/1999 orange",
"3 Andy Bloss 10/25/1956 apple",
"4 Carrie Walters 8/20/1975 peach",
"5 Doug Jones 11/10/1975 peach"
];
Run Code Online (Sandbox Code Playgroud)
假设我想提取日期并将其保存到另一个数组中,我可以创建这样的函数
function extractDates(arr)
{
let dateRegex = /(\d{1,2}\/){2}\d{4}/g, dates = "";
let dateArr = [];
for(let i = 0; i<arr.length; i++)
{
dates = /(\d{1,2}\/){2}\d{4}/g.exec(arr[i])
dates.pop();
dateArr.push(dates);
}
return dateArr.flat();
}
Run Code Online (Sandbox Code Playgroud)
虽然这很有效,但它很笨重并且需要,pop()因为它将返回一个数组数组,即:["12/16/1988", "16/"],而且我需要flat()事后调用.
另一种选择是使用给定位置对字符串进行子串,我需要知道正则表达式.
function extractDates2(arr)
{
let dates = [];
for(let …Run Code Online (Sandbox Code Playgroud) Python的for循环接受for循环范围内的三个参数.我怎么能操纵第三个参数成为一个因素?
factor_of = 2
li = []
for i in range(first_value, 25000, factor_of):
li.append(i)
Run Code Online (Sandbox Code Playgroud)
现在我意识到每次都会增加2,但是如何将它变为第一个值factor_of每次乘以的位置并存储在i值中?
期望的影响是(假设first_value设置为10)
[10, 20, 40, 80, 160, ...]
Run Code Online (Sandbox Code Playgroud)
是的,我知道这在while循环中更有意义.