例如:
var ary=["a","1b","2c","3d","e","f","g"];
将数组中包含数字的字符串拿到,再把符合条件的字符改变了他们的值,然后把符合条件的值改了,再让他们返回到ary这个数组中;
我想知道怎么把数组里字符串的值改了,再返回到原来的位置。。。
数组不是写死的,数组的数量也不是固定的
你的文字有非常生硬的翻译味道,我按照自己的理解写了个demo,你看看吧:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript">
window.onload = function () {
var ary = ["a", "1b", "2c", "3d", "e", "f", "g"];
for (var i = 0; i < ary.length; i++) {
if (!isNum(ary[i])) { // 排除不包含数字的字符串
continue;
}
//假设 包含 1 和 b
if (ary[i].indexOf("1") >= 0 && ary[i].indexOf("b") >= 0) {
ary[i] = "2b";// 直接修改,保证字符串还是在原来的位置
}
//假设 包含 2 和 c
if (ary[i].indexOf("2") >= 0 && ary[i].indexOf("c") >= 0) {
ary[i] = "400cc";
}
//假设 包含 3 和 d
if (ary[i].indexOf("3") >= 0 && ary[i].indexOf("d") >= 0) {
ary[i] = "36d";
}
}
//打印 看是否预想的结果
for (var i = 0; i < ary.length; i++) {
console.log(ary[i]);
}
//是否包含数字
function isNum(val) {
var matches = val.match(/\d+/g);
if (matches != null) {
return true;
}
return false;
}
};
</script>
</head>
<body>
</body>
</html>
我怀疑问主是智能机器人
@会长: 真的像
@会长: 我觉得是个大学生,表述不清,目的也不明确,很像啊
var str=["1千","12万","4千","1万","6千"];
for(var i=0;i<str.length;i++){
var data=str[i];
if(typeof data=="string"){
if(data.slice(-1)=="千"){
data.replace("千","000");
console.log(data)
}
}
}
我想把千单位改成1000,把万改成10000
@密码剪头刀:
<script type="text/javascript">
var str = ["1千", "12万", "4千", "1万", "6千"];
str = str.toString().replace(/[千]/g, '000').replace(/[万]/g, '0000');//替换所有指定字符串
var newStr = str.split(',');//字符串转数组
for (var i = 0; i < newStr.length; i++) {
console.log(newStr[i]);//打印
}
</script>
@三人乐乐: 谢了
@密码剪头刀: var str = ["1万3千", "10万","1千", "4万3千", "1万", "1万8千"];
怎么输出:["13000", "100000","1000", "43000", "10000", "18000"];
这样的怎么转呢? 万单位加千单位的值
几个概念清楚后,你就知道如何做了
1 数组如何遍历
2 获取数组中的某个元素
3 数组元素是值还是引用
4 数组元素的赋值覆盖
"再把符合条件的字符改变了他们的值,然后把符合条件的值改了",兄弟,你语文肯定没及格过吧。这句话我是没看懂
“将数组中包含数字的字符串拿到,再把符合条件的字符改变了他们的值,然后把符合条件的值改了” 这样读
@密码剪头刀: 我还是没读懂。要不你举个例子
@会长: 通过条件判断获取数组中符合的值,把符合条件的值改变成别的值,再返回到原来的位置
var str=["A","a","C1","B","E1","F"];
for(var i=0;i<str.length;i++){
var data=str[i];
if(typeof data=="string"){
if(data.slice(-1)==1){
console.log(data)
}
}
}
var str=["1千","12万","4千","1万","6千"];
for(var i=0;i<str.length;i++){
var data=str[i];
if(typeof data=="string"){
if(data.slice(-1)=="千"){
data.replace("千","000");
console.log(data)
}
}
}
就是把数字里的千改成1000,把万改成10000
看了三四遍,硬是没看明白你想干嘛?目的是什么
通过条件判断获取数组中符合的值,把符合条件的值改变成别的值,再返回到原来的位置
@密码剪头刀: 判断条件是什么,如何改变
@iiiiiim: 举个例子:遍历数组,再判断字符串里是否包含数字,如果有把数字改成中文,
@密码剪头刀:
var arr = ["a", "1b", "2c", "3d", "e", "f", "g"];
arr = arr.map(function(x) {
if (x.match(/\d+/) != null) {
x = x.replace(x.match(/\d+/), "中文");
}
return x;
});
console.log(arr);
@iiiiiim: var str=["1千","12万","4千","1万","6千"];
for(var i=0;i<str.length;i++){
var data=str[i];
if(typeof data=="string"){
if(data.slice(-1)=="千"){
data.replace("千","000");
console.log(data)
}
}
}
就是把数组里的千改成1000,把万改成10000