小编agu*_*tin的帖子

从数组中删除对象 - 两种不同的方法,在查询每个数组的长度时有两种不同的结果

我有两个相同的数组: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的结果可能会出现问题.

javascript arrays

10
推荐指数
1
解决办法
53
查看次数

Adobe Analytics API 请求使用 RSiteCatalyst 包获得排名报告。总计与我在仪表板前端看到的不符

我正在使用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)

r adobe-analytics

6
推荐指数
1
解决办法
556
查看次数

Javascript - 减少数组数组

数组输入:[["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)

但是,我不喜欢这种解决方法,因为:

  • 这似乎不自然
  • 如果其中一个数组本身包含逗号,则它也将被删除
  • 如果其中一个数组本身包含管道,则拆分将不符合预期

如何在没有这些障碍的情况下获得输出?

javascript arrays

3
推荐指数
1
解决办法
209
查看次数

压缩数组以对连续元素进行分组

以下代码压缩一个数组,以便我可以查看某个值在数组中出现的次数:

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)

javascript arrays

3
推荐指数
1
解决办法
503
查看次数

如果没有键入11个字符,请不要启用按钮

这是我在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)

html jquery input button

0
推荐指数
1
解决办法
43
查看次数

VBA - 为什么IsNumeric无法正确评估

我有以下代码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可:

  • 整数值(fi 4111)
  • 浮点值(41.111111)
  • 或者只是一个字符串值(通常是"xxxx",但也可以用"asdasd","dasdsadasd"等字符串填充......)

在最后两种情况下,我想发送单元格文本而不是单元格值lngPNumber获取的位置.

但是,如果值是类似于列表中最后一个示例的字符串,则会出现Type Missmatch错误.有帮助吗?

excel vba excel-vba

0
推荐指数
1
解决办法
64
查看次数

标签 统计

arrays ×3

javascript ×3

adobe-analytics ×1

button ×1

excel ×1

excel-vba ×1

html ×1

input ×1

jquery ×1

r ×1

vba ×1