我有两个相同的数组:itemsOutput&itemsOutput2
我想删除数组中的那些对象attributes.type = "DIMENSION".我找到了两种不同的方法:
方法1
jQuery.each(itemsOutput, function(i, val) {
if(val.attributes.type == "DIMENSION") // delete index
{
delete itemsOutput[i];
}
});
console.log(itemsOutput.length);
Run Code Online (Sandbox Code Playgroud)
方法2
metrics = itemsOutput2.filter(function (el) {
return el.attributes.type === "METRIC";
});
console.log(metrics.length);
Run Code Online (Sandbox Code Playgroud)
虽然两个新数组似乎具有相同数量的对象(并且在两者中,所有具有attributes.type ="DIMENSION"的对象都消失了),但控制台显示两个完全不同的值,每个数组的长度.
方法1删除对象,但长度与原始数组相同(尽管在控制台中探索数组,我观察到对象保留其原始索引)
方法2不仅删除了对象,还连续重新安排了索引.对我来说,代码似乎更清晰,所以我会继续使用这种方法.
然而,我的问题是,为什么会发生这种情况,如果我在循环中使用方法1的结果可能会出现问题.
我正在使用R该软件包RSiteCatalyst来获取有关上个月一组网站的访问次数的一些信息:
# Extract data for job search visits
jobSearch <- QueueRanked(myReportSuiteId,
dateFrom, dateTo,
metrics = "visits",
elements = "page",
top = 10000,
search = "careers/jobsearch/jobsearch",
segment.id = segment_visits_monthly)
Run Code Online (Sandbox Code Playgroud)
结果是一个数据框,其前 5 个观察值是:
> dput(head(jobSearch,5))
data2 <- structure(list(name = c("/en/careers/jobsearch/jobsearch/index.html",
"/de/careers/jobsearch/jobsearch/index.html", "http://www.....com/cms/de/...",
"http://www.....com/cms/en/...",
"https://www....com/cms/..."
), url = c("http://www.....com/cms/en/...",
"http://www.....com/cms/de/...",
"http://www.....com/cms/de/...",
"http://www.....com/cms/en/...",
"https://www.....com/cms/de/..."
), visits = c(36035, 14882, 92, 64, 15), segment.id = c("...",
"...", "...", "...",
"..."), segment.name = c("Visits Monthly Reporting",
"Visits Monthly Reporting", "Visits Monthly Reporting", …Run Code Online (Sandbox Code Playgroud) 数组输入:[["test","test"],["test2","test"],["test2","test2"],["test","test2"]]
数组输出:["test test","test2 test","test2 test2","test test2"]
我能够通过以下方式获得此输出:
output = input.join("|").replace(/,/g," ").toString().split("|")
Run Code Online (Sandbox Code Playgroud)
但是,我不喜欢这种解决方法,因为:
如何在没有这些障碍的情况下获得输出?
以下代码压缩一个数组,以便我可以查看某个值在数组中出现的次数:
var str = "shopping-shopping-coupons-shopping-end";
var arr = str.split("-");
function compressArray(original) {
var compressed = [];
// make a copy of the input array
var copy = original.slice(0);
// first loop goes over every element
for (var i = 0; i < original.length; i++) {
var myCount = 0;
// loop over every element in the copy and see if it's the same
for (var w = 0; w < copy.length; w++) {
if (original[i] == copy[w]) {
// increase …Run Code Online (Sandbox Code Playgroud)这是我在jquery中的代码,我认为逻辑是可以的,但我仍然无法让它工作.
$(document).ready(function(){
$('#send').attr('disabled',true);
$('#inputText').keyup(function(){
if($(this).val().length == 11)
$('#send').attr('disabled', false);
else
$('#send').attr('disabled', true);
})
});
Run Code Online (Sandbox Code Playgroud)
这是html,输入框和按钮
<input type="text" id="inputText" placeholder="XXX-XXX-XXX" maxlength="11"/>
<input type="button" id="send" value="submit"></input>
Run Code Online (Sandbox Code Playgroud) 我有以下代码VBA来评估变量lngPNumber以将"正确"值发送到WorksheetFunction.vLookup函数:
Dim lngPNumber As Variant
lngPNumber = ActiveSheet.Cells(objInitialCell.Row, INT_ACCP_COL_PNUMBER).Value
If IsNumeric(lngPNumber) = False Or CDbl(lngPNumber) <> Round(CDbl(lngPNumber)) Then
lngPNumber = CStr(ActiveSheet.Cells(objInitialCell.Row, INT_ACCP_COL_PNUMBER).Text)
End If
Run Code Online (Sandbox Code Playgroud)
lngPNumber可:
在最后两种情况下,我想发送单元格文本而不是单元格值lngPNumber获取的位置.
但是,如果值是类似于列表中最后一个示例的字符串,则会出现Type Missmatch错误.有帮助吗?