如何从数组中拆分和获取选择数据
How to split and get selection data from an array
我在 JavaScript 中有这样的数组
var a = [1,2,3,4,5,"4","12","2",6,7,"4",3,"2"];
我的问题是
如何将数组拆分为将(逗号)更改为";"
如何返回数组中的字符串数以及返回总值,而不考虑变量类型。
如何返回平均值(再次考虑变量类型)
回答问题 1
1.将其转换为字符串
var x=a.toString();
2.执行全局替换
var y= x.replace(/,/g,";");
3.这给你"1;2;3;4;5;4;12;2;6;7;4;3;2"
对于问题 2只需使用a.length
方法即可。这将为您提供元素的总数。我不确定字符串元素部分。
更改数组分隔符:
a.join(';');
如此处引用
数组中的字符串数:
var stringCount = 0;
for (var i = 0; i < a.length; i++){
if (typeof a[i] === 'string'){
stringCount++;
}
}
alert("The number of strings is: " + stringCount);
在这里测试:https://jsfiddle.net/6c42nugy/2/
数组中所有元素的数量:
var entireLength = a.length;
每种类型与整体的百分比比较
var stringPerc = (stringCount)/(stringCount + entireLength)
var otherPerc = (entireLength - stringCount)/(stringCount + entireLength)
使用 a.join(';');
将数组转换为用分号分隔的字符串。
要返回数组中的字符串数,只需遍历它并使用如下所示toString.call()
:
var total = 0;
for (var i = 0, n = a.length; i < n; i++) {
if (toString.call(a[i]) === '[object String]') total++;
}
要简单地返回项目总数,您可以执行a.length
。
如果您希望所有元素的总值相加,则可以执行以下操作:
var total = 0;
for (var i = 0, n = a.length; i < n; i++) {
total += parseInt(a[i]);
}
如果你想要平均值,只需采用上面的代码并执行total / a.length;
。
这是我
的版本:
var a = [1,2,3,4,5,"4","12","2",6,7,"4",3,"2"], sum = 0, strings = 0;
var joined = a.join(';');
console.log("Joined: " + joined);
for (var i = 0; i < a.length; i++) {
sum += parseInt(a[i]);
if (typeof a[i] === "string") {
strings++;
}
}
var avg = sum / a.length;
console.log('Sum: ' + sum);
console.log('Average: ' + avg);
console.log('Strings: ' + strings);
并链接到JSFiddle。
所有结果都在一个循环中。
0 ...n-4:数据
n-3:所有字符串
的计数n-2:总和
n-1:平均
var data = [1, 2, 3, 4, 5, "4", "12", "2", 6, 7, "4", 3, "2"],
result = data.concat(data.reduce(function (r, a, i) {
typeof a === 'string' && r[0]++;
r[1] += +a;
r[2] = r[1] / i;
return r;
}, [0, 0, 0])).join(';');
document.write('<pre>' + JSON.stringify(result, 0, 4) + '</pre>');
相关文章:
- 获取选择框的状态
- 使用jQuery获取选择列表中每个更改的值
- 在选择组中获取选择选项值以显示额外内容
- 在 jqGrid 内联编辑中获取选择的文本部分而不是值
- jQuery:如何获取选择数组中元素的索引
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- JavaScript/jQuery:获取选择功能在Firefox和Chrome中不起作用
- 获取选择框展开/用户焦点事件
- 如何使用jQuery获取选择值并传递给另一个函数
- 从谷歌文档中获取选择
- 获取选择组中选择选项的索引
- 在chrome扩展程序上下文菜单中获取选择DOM
- 获取选择选项 php 的值
- 在javascript/jquery中获取选择选项菜单
- 使用 jQuery 获取选择框 IE 的值
- AngularJS:在不修改ng模型的情况下获取选择标签
- 使用 Angular 从服务器端生成的下拉列表中获取选择属性值
- 如何获取选择值的值
- 如何在角度<选择>中获取选择选项
- 获取选择框的名称属性