Javascript 如何从数组中拆分和获取选择数据
我在JavaScript中有这样的数组Javascript 如何从数组中拆分和获取选择数据,javascript,jquery,arrays,Javascript,Jquery,Arrays,我在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
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
方法。这将为您提供元素总数。我不确定字符串元素部分。回答问题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);
var entireLength = 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);
var entireLength = a.length;
每种类型与整体相比的百分比
var stringPerc = (stringCount)/(stringCount + entireLength)
var otherPerc = (entireLength - stringCount)/(stringCount + entireLength)
更改数组分隔符:
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);
var entireLength = 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);
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++;
}
如果您想要平均值,只需取上面的代码,然后执行total/a.length代码>使用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++;
}
如果您想要平均值,只需取上面的代码,然后执行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);
var a=[1,2,3,4,5,4,12,2,6,7,4,3,2],和=0,字符串=0;
var join=a.join(“;”);
console.log(“Joined:+Joined”);
对于(变量i=0;i
并链接到。以下是我的版本:
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);
var a=[1,2,3,4,5,4,12,2,6,7,4,3,2],和=0,字符串=0;
var join=a.join(“;”);
console.log(“Joined:+Joined”);
对于(变量i=0;i
并链接到。所有结果都在一个循环中
0。。。n-4:数据
n-3:所有字符串的计数
n-2:总和
n-1:平均值
var数据=[1,2,3,4,5,4,12,2,6,7,4,3,2”],
结果=data.concat(data.reduce(函数r,a,i){
a的类型==='string'&&r[0]+%;
r[1]+=+a;
r[2]=r[1]/i;
返回r;
}连接(“;”);
document.write(“”+JSON.stringify(结果,0,4)+“”)代码>所有结果都在一个循环中
0。。。n-4:数据
n-3:所有字符串的计数
n-2:总和
n-1:平均值
var数据=[1,2,3,4,5,4,12,2,6,7,4,3,2”],
结果=data.concat(data.reduce(函数r,a,i){
a的类型==='string'&&r[0]+%;
r[1]+=+a;
r[2]=r[1]/i;
返回r;
}连接(“;”);
document.write(“”+JSON.stringify(结果,0,4)+“”)代码>我的答案:1。只有当您希望结果为字符串时,这才是可能的。使用a.join(“;”)
2。循环数组,如果字符串->转换为数字,并将其添加到sum
。例如,a.reduce((sum,el)=>sum+Number(el+“”),0)
是的,我希望结果是一个字符串,所以我必须首先将数组解析为字符串?我的答案是:3。你在#2var avg=sum/a.length中得到了所有的总和代码>我的答案:1。只有当您希望结果为字符串时,这才是可能的。使用a.join(“;”)
2。循环数组,如果字符串->转换为数字,并将其添加到sum
。例如,a.reduce((sum,el)=>sum+Number(el+“”),0)
是的,我希望结果是一个字符串,所以我必须首先将数组解析为字符串?我的答案是:3。你在#2var avg=sum/a.length中得到了所有的总和代码>将其转换为字符串并进行全局替换是完全不必要的。您只需使用.join(separator)
功能即可。它适用于问题1,谢谢。。但对于Q2来说,它不起作用。将其转换为字符串并进行全局替换是完全没有必要的。您只需使用.join(separator)
功能即可。它适用于问题1,谢谢。。但是对于第二个问题,它不起作用。