我试图用逗号作为千位分隔符在JavaScript中打印一个整数.例如,我想将数字1234567显示为"1,234,567".我该怎么做呢?
我是这样做的:
function numberWithCommas(x) {
x = x.toString();
var pattern = /(-?\d+)(\d{3})/;
while (pattern.test(x))
x = x.replace(pattern, "$1,$2");
return x;
}
Run Code Online (Sandbox Code Playgroud)
有更简单或更优雅的方式吗?如果它也适用于浮点数会很好,但这不是必需的.它不需要特定于语言环境来决定句点和逗号.
我正在尝试使用echo命令在终端中打印文本.
我想以红色打印文本.我怎样才能做到这一点?
我正在编写一个程序来解析10个网站,查找数据文件,保存文件,然后解析它们以生成可以在NumPy库中使用的数据.有吨的错误该文件通过遇到不良链接,不好的XML,缺项,其他的事情我还没有进行分类.我最初制作这个程序来处理这样的错误:
try:
do_stuff()
except:
pass
Run Code Online (Sandbox Code Playgroud)
但现在我想记录错误:
try:
do_stuff()
except Exception, err:
print Exception, err
Run Code Online (Sandbox Code Playgroud)
请注意,这是打印到日志文件以供以后查看.这通常会打印非常无用的数据.我想要的是打印错误触发时打印的完全相同的行,没有try-except拦截异常,但我不希望它暂停我的程序,因为它嵌套在一系列for循环中,我想看完成了.
在Hibernate中是否可以使用实际值而不是问号来打印生成的SQL查询?
如果使用Hibernate API无法打印具有实际值的查询,您会建议如何?
Gatsby入门 - 当我使用google字体向public/index.html添加链接标记时,它在开发模式下工作.当我构建网站时,index.html会重置.所以我想还有另一种正确的方法来添加字体?
考虑这个嵌套的日期和名称数组:
var fDates = [
['2015-02-03', 'name1'],
['2015-02-04', 'nameg'],
['2015-02-04', 'name5'],
['2015-02-05', 'nameh'],
['1929-03-12', 'name4'],
['2023-07-01', 'name7'],
['2015-02-07', 'name0'],
['2015-02-08', 'nameh'],
['2015-02-15', 'namex'],
['2015-02-09', 'namew'],
['1980-12-23', 'name2'],
['2015-02-12', 'namen'],
['2015-02-13', 'named'],
]
Run Code Online (Sandbox Code Playgroud)
如何识别那些不按顺序排列的日期.我不在乎日期重复,或跳过,我只是需要那些不按顺序.即,我应该回来:
results = [
['1929-03-12', 'name4'],
['2023-07-01', 'name7'],
['2015-02-15', 'namex'],
['1980-12-23', 'name2'],
]
Run Code Online (Sandbox Code Playgroud)
('Namex'不太明显,但它不是列表的一般顺序.)
这似乎是最长增长子序列(LIS)问题的变化,但需要注意的是序列中可能有重复的日期,但不应该向后退一步.
使用案例:我已对记录进行了排序和记录,需要找到日期为"可疑"的日期 - 可能是输入错误 - 标记为检查.
NB1:我使用的是直接的Javascript而不是框架.(我在节点,但我正在寻找一个无包装的解决方案,所以我可以理解发生了什么...)
我们一直在广泛使用Protractor框架,并建立了一个相当大的测试代码库.我们也一直在关注Page Object模式来组织我们的测试.
最近,我们开始使用Galen框架填补视觉/布局/响应式设计测试的空白.我们非常喜欢这个框架,并希望继续使用它.
现在最大的问题是Page Objects.两个框架都有自己的定义页面对象的方法.
这是Protractor页面对象的示例:
var LoginPage = function () {
this.username = element(by.id("username"));
this.password = element(by.id("password"));
this.loginButton = element(by.binding("buttonText"));
};
module.exports = new LoginPage();
Run Code Online (Sandbox Code Playgroud)
而且,这是一个示例Galen页面对象:
this.LoginPage = $page("Login page", {
username: '#username',
password: '#password',
loginButton: 'button[ng-click*=login]'
});
Run Code Online (Sandbox Code Playgroud)
目前,我们正在复制定位器并重复自己 - 违反DRY原则.而且,另一个后续问题是Galen目前仅支持"by css","by id"或"by xpath"定位技术 - 这意味着页面对象不会一对一地映射.
有没有办法避免重复将Protractor和Galen结合在一起的页面对象和元素定位器?
输入是未排序的元组列表:
x = [('herr', 1),
('dapao', 1),
('cino', 1),
('o', 38),
('tiao', 2),
('tut', 1),
('poh', 6),
('micheal', 1),
('orh', 1),
('horlick', 3),
('si', 1),
('tai', 1),
('titlo', 1),
('siew', 17),
('da', 1),
('halia', 2)]
Run Code Online (Sandbox Code Playgroud)
目标是找到n计数最少的最后一个键,即所需的输出:
['orh', 'si', 'tai', 'titlo', 'da']
Run Code Online (Sandbox Code Playgroud)
我试过这样做:
[-n:]从中找到元组列表Counter.most_common()[-n:]dict转换为dict即
n = 5
list(dict(Counter(dict(x)).most_common()[-n:]).keys())
Run Code Online (Sandbox Code Playgroud)
是否有一种不太复杂的方式来获得相同的输出?
我也可以这样做:
from operator import itemgetter
output, *_ = zip(*sorted(x, key=itemgetter(1))[n:])
list(output)
Run Code Online (Sandbox Code Playgroud)
但现在我已经只是换出Counter.most_common与sorted和itemgetter.然后我仍然需要zip(*list)通过从zip后的每个元组列表中解压缩第一个值来提取密钥. …
javascript ×5
python ×2
algorithm ×1
append ×1
arrays ×1
bash ×1
command-line ×1
counter ×1
dictionary ×1
echo ×1
fonts ×1
formatting ×1
galen ×1
gatsby ×1
hibernate ×1
java ×1
linux ×1
list ×1
node.js ×1
numbers ×1
orm ×1
pageobjects ×1
protractor ×1
reactjs ×1
selenium ×1
sql ×1
stack-trace ×1