我正在尝试解决这个寻找在数组中出现奇数次的数字的练习。到目前为止,我已经有了这个,但输出最终是一个出现偶数次的整数。例如,数字 2 出现了 3 次,数字 4 出现了 6 次,但输出是 4,因为它算作出现了 5 次。它怎么会返回它发现为奇数的第一个集合?任何帮助表示赞赏!
function oddInt(array) {
var count = 0;
var element = 0;
for(var i = 0; i < array.length; i++) {
var tempInt = array[i];
var tempCount = 0;
for(var j = 0; j <array.length; j++) {
if(array[j]===tempInt) {
tempCount++;
if(tempCount % 2 !== 0 && tempCount > count) {
count = tempCount;
element = array[j];
}
}
}
}
return element;
}
oddInt([1,2,2,2,4,4,4,4,4,4,5,5]);
Run Code Online (Sandbox Code Playgroud) 我有一系列n项
var arr1 = [2, 0, 0, 1, 1, 2, 0, 0, 0, 2, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 2, 2, 0, 0, 2, 2, 1, 2, 2, 0, 1, 2, 2, 1, 1, 0, 1, 1, 0, 2, 1, 0, 0, 0, 2, 1, 1, 1, 2, 2, 1, 0, 0, 0, 2, 2, 2, 2, 2, 1, 0, 2, 2, 0, 2, 2, 0, 2, 0, 0, 1, 2, …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个javascript函数,它可以计算输入数组中每个单词的出现次数.
示例:
输入
a=["a","booster","booster","constructor","adam","adam","adam","adam"]
Run Code Online (Sandbox Code Playgroud)
输出:
"a":1
"booster":2
"constructor":1
"adam":4
Run Code Online (Sandbox Code Playgroud)
输出应该是相似的.
我是javascript的新手,我试图使用dict.但是对象有一个叫做"构造函数"的属性,所以cnt ["constructor"]似乎不起作用.
这是我的代码和结果:
var cnt={};
console.log("constructor");
for(var i=0;i<a.length;++i)
{
if(! (a[i] in cnt))
cnt[a[i]]=0;
else
cnt[a[i]]+=1;
}
for(var item in cnt)
console.log(item+":"+cnt[item]);
Run Code Online (Sandbox Code Playgroud)
结果:

您可以看到1作为字符串添加到cnt的构造函数中.
嗨,我有这样的阵列
var a = [5, 5, 5, 2, 2, 2, 2, 2, 9, 4];
Run Code Online (Sandbox Code Playgroud)
我的目标是计算唯一值并报告其中的任何项目,结果很好
Array [
[5, 3],
[2, 5],
[9, 1],
[4, 1]
]
Run Code Online (Sandbox Code Playgroud)
我找到了一个解决方案,可以在另一篇文章中找到[ 计算JavaScript数组元素的出现次数
@Emissary解决方案对我来说是最好的,问题是这个解决方案过去并添加一些我不需要的新功能,我不能直接回复该帖子,询问如何只有我需要的数组:d
@Emissary加了
console.log(key +':'+ val)
我的第一个想法是,而不是console.log我可以推送2d数组中的每个值,但我认为这不是一个好主意,因为如果我很了解@Emissary解决方案,那么解决方案的第一部分就是我需要的数组.
知道如何"隔离"这个特定阵列吗?
任何本机替代品:
const colorArray = ['red', 'green', 'green', 'blue', 'purple', 'red', 'red', 'black'];
Run Code Online (Sandbox Code Playgroud)
到:
Object {
"red": 3,
"green": 2,
"blue": 1,
"purple": 1,
"black": 1
}
Run Code Online (Sandbox Code Playgroud)
在javascript中??
const colorArray = ['red', 'green', 'green', 'blue', 'purple', 'red', 'red', 'black'];
Run Code Online (Sandbox Code Playgroud)
感谢您的宝贵努力和时间!!
javascript arrays duplicates categorization categorical-data
我需要迭代一个字符串数组,计算每个字符串的出现次数,并返回一个包含值和出现次数的对象。
我正在尝试使用数组归约函数来实现这样的事情,但是,尽管进行了尝试,但我还无法实现这一点。
所以我有以下内容:
["tony", "tony", "tony", "tony", "kassandra", "tony", "tony", "kassandra"]
Run Code Online (Sandbox Code Playgroud)
我需要输出:
[{ name: "tony", matches: 6 }, { name: "kassandra", matches: 2 }]
Run Code Online (Sandbox Code Playgroud)
我应该使用什么来获得上述输出?
我已经尝试过以下方法:
const names = nameList.map((user) => user.name);
const reduce = names.reduce((p, c) => {
if (p == c) {
return { name: p, matches: `idk what put here yet` };
}
return c;
});
Run Code Online (Sandbox Code Playgroud) 我已经提到了下面列出的这些问题,但没有帮助我。
我想从具有特定值的对象中获取计数。例如,我有这个数组列表,
var testData = [
{
"issue_type": "Warning",
"created_date": "2019-05-13T13:43:16.437Z",
},
{
"issue_type": "Warning",
"created_date": "2019-05-13T13:45:16.330Z",
},
{
"issue_type": "Alert",
"created_date": "2019-05-13T13:43:16.437Z",
},
{
"issue_type": "Alert",
"created_date": "2019-05-13T13:45:16.330Z",
}
]
Run Code Online (Sandbox Code Playgroud)
我想计算有多少带有键的对象"issue_type"="Warning"。
我试过这个循环,但这不是我要找的,
var counts = {};
for (var i = 0; i < arr.length; i++) {
var num = arr[i];
counts[num] = counts[num] ? counts[num] + 1 : 1;
}
console.log(count['issue_type']);
Run Code Online (Sandbox Code Playgroud)
请给我建议出路。
我有一个这样的日期列表:
[ "2020-08-20", "2020-08-20", "2020-08-21", "2020-08-24", "2020-08-25", "2020-08-25", "2020-08-25", ]
如何返回列表中相同项目的计数?
例如:
{date: "2020-08-20", count: 2},
{date: "2020-08-21", count: 1},
{date: "2020-08-24", count: 1},
{date: "2020-08-25", count: 3},
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
我有一个包含分类数据列的大型电子表格.我想为每列创建一个条形图,表示该列中不同值的计数.我尝试使用Google Apps脚本自动完成此过程,但我得到的结果非常错误.
这是我正在使用的代码
function myFunction() {
var responseSpreadSheet = SpreadsheetApp.openByUrl("https://mySpreadsheetLink")
.getActiveSheet();
Logger.log(responseSpreadSheet.getName());
var titles = responseSpreadSheet.getRange(1, 4, 1, 25).getValues();
var barChart = responseSpreadSheet.newChart()
.setChartType(Charts.ChartType.BAR)
.setOption('title', titles[0][0])
.addRange(responseSpreadSheet.getRange("D2:D57"))
.setPosition(5, 5, 0,0)
.build();
responseSpreadSheet.insertChart(barChart);
}
Run Code Online (Sandbox Code Playgroud)
这是带有嵌入式条形图的电子表格:
并且期望的结果将是这样
如何在列上创建此类图表?
我试图计算数组中出现的数字的出现次数.
逻辑
所以我已经有一个包含数字的数组,所以我想只将唯一数字推入另一个数组.我还有另一个包含每个数字的计数的数组.
代码:
<html>
<body>
<script language="javascript" type="text/javascript">
<!--
var numbers = [ 2, 1, 2, 1, 3, 4, 2];
var count = [];
var newNumbers = [];
newNumbers[0] = numbers[0];
count[0] = 1;
for(var i = 1 ; i < numbers.length ; i++){
for(var j = 0 ; j < newNumbers.length ; j++){
if(numbers[i] == newNumbers[j]){
document.write("<br/>" + "Number Already Present" + " " +numbers[i]);
count[j] = count[j]++;
}else{
newNumbers.push(numbers[i]);
}
}
}
for(var j = …Run Code Online (Sandbox Code Playgroud) 下面是一个代码片段,它找出"数组的每个元素重复多少次".一切都按预期工作,除了它没有给我"ebay重复计数"
var strArr = ["google","ebay","yahoo","google","ebay","facebook","facebook","google"];
var output= {};
strArr.forEach(function(element) {
var count = 0;
try{
while(strArr.indexOf(element) !== -1){
strArr.splice(strArr.indexOf(element),1);
count++;
}
}catch(e){
console.log(e);
}
output[element] = count;
});
console.log(output);
Run Code Online (Sandbox Code Playgroud)
我试着调试它debugger;,我发现数组的第二个元素被跳过了.
预期产出:
google:3
ebay:2
yahoo:1
facebook:2
Run Code Online (Sandbox Code Playgroud)
实际产量:
google:3
yahoo:1
facebook:2
Run Code Online (Sandbox Code Playgroud)