- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设您输入了 Array=[1,2,3,5,7,9,10,11,12,15]
输出应该是1-3,5,7,9-12,15
我正在寻找有关我的尝试和其他可能解决方案的反馈。这是我在 javascript 中的尝试:
var min = 0;
var max = -1;
function summarize(array) {
var sumString = "";
var prevVal = -1;
array.forEach(function(currVal, index) {
if (index > 0) {
prevVal = array[index - 1];
}
if (index === 0) {
min = currVal;
max = currVal;
} else if (currVal - prevVal === 1) {
max = currVal;
} else if (min !== max && max !== -1) {
sumString += min + "-" + max + (index < array.length - 1 ? "," : "");
min = currVal;
max = -1;
} else {
sumString += min + (index < array.length - 1 ? "," : "");
}
if (index === array.length - 1) {
if (max === -1) {
sumString += "," + min;
} else {
sumString += min + "-" + max;
}
}
});
return sumString;
}
最佳答案
下面是一个稍微简短的实现:
var i = 0, prev, arr = [1,2,3,5,7,9,10,11,12,15], out = [];
for(i=0; i<arr.length; prev = arr[i], i++) {
// if the current number is not prev+1, append it to out
// Note that we are adding it as a string, to ensure that
// subsequent calls to `split()` (see else part) works
if(prev !== arr[i] - 1) out.push(String(arr[i]));
// if the current number is prev+1, modify the last value
// in out to reflect it in the RHS of - (hyphen)
else out[out.length - 1] = [out[out.length - 1].split('-')[0], String(arr[i])].join('-');
}
// out => ["1-3", "5", "7", "9-12", "15"]
关于javascript - 如何将 "summarize"整数数组转换为具有范围的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32610428/
我目前正在重复很多代码,因为我需要 summarize对于不同的组总是相同的列。我如何通过编写 summarize 来有效地做到这一点函数(始终相同)仅一次,但定义输出名称和 group_by逐案论证
我正在尝试将一个函数 (weight.func) 传递给另一个调用 ddply 的函数(包装器)。我希望 ddply 使用该函数 (weight.func) 作为其计算的一部分。当 weight.fu
我想编写一个函数,根据一些指定的标准(在本例中是按年龄)汇总提供的数据 示例数据是用户年龄及其统计数据的表格。 df % .[, colnames(.) %in% output_columns] %>
我正在尝试根据客户的满意度来获取投票记录的数量。例如: 20 条记录投票支持 5/10 10 条记录投票支持 2/10 5 条记录投票支持 9/10 这是我的数据集的一部分: 我想要每个 Opp ti
我在玩弄babynames包。一个 group_by命令有效,但在 summarize 之后,其中一个组从组列表中删除。 library(babynames) babynames[1:10000, ]
我有一些像这样的数据(简化): sales: [ { 'quantity': 20, 'amount': 40, 'product': {
假设您输入了 Array=[1,2,3,5,7,9,10,11,12,15] 输出应该是1-3,5,7,9-12,15 我正在寻找有关我的尝试和其他可能解决方案的反馈。这是我在 javascript
是否可以在 dplyr::summarize() 的不同部分运行条件语句? 想象一下,我正在使用 iris数据并输出摘要,我只想在请求时包含 Sepal.Length 的平均值。所以我可以做这样的事情
我有这两个查询: EVALUATE FILTER ( SUMMARIZE ( 'Sales', Products[ProductName], '
我有一个看起来像这样的数据框(我有更多的年份和变量): Name State2014 State2015 State2016 Tuition2014 Tuition2015 T
在 tidyverse 中,summarize 可用于具有单值函数的分组数据。例如 mtcars %>% group_by(cyl) %>% summarise(max(cos(mpg))) 如果函数
我试图将与条件匹配的 data.frame 中的所有列传递给 dplyr 的汇总函数中的函数,如下所示: df %>% group_by(Version, Type) %>% summarize(
df_input是输入文件,理想的输出文件是df_output。 df_input % dplyr::group_by_at(.vars = vars(id)) %>% {left_join(
每当我使用 svn diff --summarize 我得到类似的东西: A *mylinkhere* M *mylinghere* 这些开头字母(例如 A、M)的用途是什
我是 dplyr 的新手,尝试进行以下转换,但没有任何运气。我在互联网上进行了搜索,找到了在 ddply 中执行相同操作的示例,但我想使用 dplyr。 我有以下数据: month type
我正在尝试在 R 中编写一个函数来汇总表格。以下是一个示例函数,我正在使用 Iris 数据作为测试。 test_func % group_by(data[[by_var_nm]]) %>%
因为我不想为每个子页面创建一个新的 ajax 文件,所以我想总结所有对 CREATE、UPDATE 和 DELETE 的 ajax 请求。 因此,我将所有输入和选择命名为“input_”和“selec
我安装了 Strawberry Perl 以在 Windows 中运行 rouge 程序。但是当我想运行我的程序时,我收到一条错误消息,您可以在图像上看到: The system can't find
我想在数据库中创建一个id id_user => data type 'varchar' 我希望我的 id 从 00、01、02 等开始。为了制作新的 id,我计算了所有的行,计数的结果将加上 01。
我目前正在构建一个系统,它将总结来自维基百科等网页的文章。 我可以从网页中提取文本,而且我知道 Open Text Summarizer API 可以帮助我进行摘要,但问题是我不知道如何正确使用它。
我是一名优秀的程序员,十分优秀!