获得字符串第一个字符和最后一个字符及扩展

编程入门 行业动态 更新时间:2024-10-28 16:28:57

获得<a href=https://www.elefans.com/category/jswz/34/1771063.html style=字符串第一个字符和最后一个字符及扩展"/>

获得字符串第一个字符和最后一个字符及扩展

			var str = "Hello World";console.log(str.substr(0,1));//Hconsole.log(str.substr(-1));//d

2018/04/08 追加:

如果字符串是一个链接,想要获得图片参数,先获取最后5个字符

再截取第一个字符(适用于git参数只有一个时且图片名称为一个字符的时候)

                var str2 = "=1.jpg"; console.log(str2.substr(-5));                         //1.jpgconsole.log(str2.substr(-5).substr(0,1));             //1

2018/04/10追加

通过下标找到对应的字符

var str="大家好,我是东,我来自南方。"
console.log(str[6]);    //东

通过字符找到对应的下标

var str='大家好,我是东,来自南方。';
var n=str.indexOf("东");
console.log(n+1);       //7         从1开始算起第几位,没有查找到这个字符的时候为n为-1

通过“,”将字符串分割成数组

var str="a,b,c,d,e,f";
var arr=str.split(",");
console.log(arr)          //["a", "b", "c", "d", "e", "f"]

2019/07/17中途追加
通过toString将数组转行承字符串


2018/05/12追加

获得特殊字符前面或后面的所有字符

	var str="item/jsonitem/httsdh.txt";  var strindex=str.indexOf(".");var data1 = str.substr(0,strindex);console.log(data1)   //item/jsonitem/httsdhvar data2 = str.substr(strindex,str.length);console.log(data2)   //.txtvar data3 = str.substr(strindex+1,str.length);console.log(data3)   //txt

2018/06/20追加

去掉所有的引号

var reg = new RegExp('"',"g");  
str = str.replace(reg, "");  

2019/05/21追加

通过“ ”将字符串分割成数组

var str="abcdef";
var arr=str.split("");
console.log(arr)        //["a", "b", "c", "d", "e", "f"]

2020/11/18追加 (splice有三个参数)

通过splice删除数组中某一项或多项

 通过splice替换数组中某一项或多项

获取所有属性的值(前4个字母):

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8" />
</head>
<body><p val = 'data-name'>小明</p><p val = 'data-age'>22</p><p val = 'sex'>男</p><script src="jquery.min.js"></script><script>var arr=[];$('p').each(function(){arr.push($(this).attr('val').substr(0,4))})console.log(arr);   //["data", "data", "sex"]</script>
</body>
</html>

获取所有属性的值为data的文本(前4个字母):

<!DOCTYPE html>
<html lang="zh">
<head><meta charset="UTF-8" />
</head>
<body><p val = 'data-name'>小明</p><p val = 'data-age'>22</p><p val = 'sex'>男</p><script src="jquery.min.js"></script><script>var arr=[];var v = '';$('p').each(function(){v=$(this).attr('val').substr(0,4);if(v == 'data'){arr.push($(this).text())}})console.log(arr);   //["小明", "22"]</script>
</body>
</html>

2019/11/12追加
       两个数组里面相同的都去掉

2019/11/27追加
数组中,只去掉name字段重复的

2020/03/16追加

        parms:{"namespace": "teas.jwgl.bjxygl","pageName": "edit","data": {}}//parms.data最后需要转成“字符串”传到后台,赋值的时候需要转成“json”状态,然后赋值let type = dsf.type(this.parms.data);this.parms.data["_id"] = this.messdata._id;if(type === 'object'){this.parms.data = JSON.stringify(this.parms.data)//转字符串}this.dsf.http.post('teas/mobile/meta/persistData', _this.parms).done((res) => {if(res.success){this.dsf.layer.toast(res.message);}else{this.dsf.layer.toast(res.message);}_this.parms.data = JSON.parse(_this.parms.data);//转json}).error((res) => {this.dsf.layer.toast(res.message);})

 2020/04/03  追加
用charAt()获取字符串中的字符(有些时候可以代替多层if(){}else if(){}   和switch_case )

function returnWeekday (){return "今天是星期" + "日一二三四五六".charAt ( new Date().getDay() ); 
} 
console.log( returnWeekday() ); 

2020/08/08 追加

  1、获取地址的参数

function UrlSearch() {var name, value;var str = location.href; //取得整个地址栏var num = str.indexOf("?")str = str.substr(num + 1); //取得所有参数 stringvar.substr(start [, length ]var arr = str.split("&"); //各个参数放到数组里for(var i = 0; i < arr.length; i++) {num = arr[i].indexOf("=");if(num > 0) {name = arr[i].substring(0, num);value = arr[i].substr(num + 1);this[name] = decodeURI(value);}}
}
var Git = new UrlSearch(); //实例化
console.log(Git.name);  // dong

效果 

2、如果在iframe页面中执行,需要修改成获取父级的整个地址栏

//iframe中获取父级地址栏的参数值
function UrlSearch() {var name, value;var str = window.parent.document.location.href; //取得整个父级地址栏var num = str.indexOf("?")str = str.substr(num + 1); //取得所有参数 stringvar.substr(start [, length ]var arr = str.split("&"); //各个参数放到数组里for(var i = 0; i < arr.length; i++) {num = arr[i].indexOf("=");if(num > 0) {name = arr[i].substring(0, num);value = arr[i].substr(num + 1);this[name] = decodeURI(value);}}
}
var Git = new UrlSearch(); //实例化
console.log(Git.age);  // 18

2021/05/10 追加

    编码之后的字符串重新解析成对象数组

事项相关方法

decodeURI("","UTF-8");
unescape();
JSON.parse();

var Group = dsf.getCookie("allGroup");
var newGroup = unescape(Group);
var garr=JSON.parse(newGroup)
var glist = [];
for(var i=0;i<garr.length;i++){if(glist.indexOf(garr[i].code) == -1){glist.push(garr[i].code)}}
//如果有001,并且条数大于1才显示,其他都不显示
if(glist.indexOf('001')!=-1 && glist.length>1){console.log('显示');
}else{console.log('隐藏')
}

2022/03/15追加

encodeURI('/meta/list/data?pageNum=1&pageSize=7&query=%7B"searchValue"%3A""%7D&order=%5B%5D&filter=%5B%5D&namespace=nc.courses.page&pageName=indexCourse')
'/meta/list/data?pageNum=1&pageSize=7&query=%257B%22searchValue%22%253A%22%22%257D&order=%255B%255D&filter=%255B%255D&namespace=nc.courses.page&pageName=indexCourse'
decodeURI('/meta/list/data?pageNum=1&pageSize=999&query=%257B%22searchValue%22%253A%22%22%257D&order=%255B%255D&filter=%255B%255D&namespace=nc.courses.page&pageName=indexCourse')
'/meta/list/data?pageNum=1&pageSize=999&query=%7B"searchValue"%3A""%7D&order=%5B%5D&filter=%5B%5D&namespace=nc.courses.page&pageName=indexCourse'

20220513追加
 

encodeURI('/meta/list/data?pageNum=1&pageSize=7&query={"searchValue":""}&order=[]&filter=[]&namespace=nc.courses.page&pageName=indexCourse')
'/meta/list/data?pageNum=1&pageSize=7&query=%7B%22searchValue%22:%22%22%7D&order=%5B%5D&filter=%5B%5D&namespace=nc.courses.page&pageName=indexCourse'

 

2022/10/14追加

获取数组中60及以上的值

let arr = [46,51, 60, 61, 80, 81];
let arr2 = arr.filter(num => num > 59);
console.log(arr2) //  [60, 61, 80, 81]

 获取对象数组中60及以上的值

let arr = [{name:'小明',fen:46},{name:'小张',fen:51},{name:'小李',fen:60},{name:'小赵',fen:61},{name:'小钱',fen:80},{name:'小孙',fen:81}
];
let arr2 = arr.filter(item => item.fen>59);

 

得到的数组中每一项添加一个单位

 只获取数组中第一个达到60分的那条数据

 

得到小钱的下标 

 

 快速获取键 数组

let arr={'一班':[{name:"小白"},{name:"小赵"}],'二班':[{name:"小红"},{name:"小李"}],'三班':[{name:"小绿"},{name:"小钱"}]
}
console.log(arr)
let data=[]
Object.keys(arr).forEach(key=>{if(key=='二班'){data = arr[key]}
})
console.log('二班有这些人',data)

2022/12/02追加

判断一个值是否在二维数组中,并得到当前所在数组

let code = 66
let arr=[[11,22,33,44],[55,66,77,88],[99,110106,100],
]
let codeRow = []
for(var i=0,len=arr.length;i<len;i++){for(var j=0,len=arr[i].length;j<len;j++){if(arr[i][j]==code){codeaRow = arr[i]}}
}
console.log(codeaRow)   //[55,66,77,88]

 返回数据中找到value为55,66,77,88的值,得到一个新的数组

let codeRow =  [55, 66, 77, 88]
let arr = [
{name:'小明',value:55,fen:88},
{name:'小明',value:66,fen:89},
{name:'小明',value:88,fen:90},
{name:'小明',value:77,fen:95},
{name:'小明',value:86,fen:95},
{name:'小明',value:44,fen:99},
{name:'小明',value:22,fen:95},
{name:'小明的',value:33,fen:97}
]
let newArr = []
for(var i=0,len=codeRow.length;i<len;i++){for(var z=0,len=arr.length;z<len;z++){if(arr[z].value == codeRow[i]){newArr.push(arr[z])}}
}
console.log(newArr)

得到数组后进行排序,取第一个值,(最大值) 

 

call,apply 

replace应用


        接口返回的数据处理后再使用
        需求:1、名称为“北京经济技术开发区”时,改为“经开区”

                   2、季度数据统一格式

var data = [{"name": "地区生产总值","V": "489.5","area": "东城区","time":"2022年01季度"},{"name": "地区生产总值","V": "489.5","area": "西城区","time":"2022年二季度"},{"name": "地区生产总值","V": "489.5","area": "丰台区","time":"2022年三季度"},{"name": "地区生产总值","V": "489.5","area": "北京经济技术开发区","time":"2022年04季度"}]
let NewData = []
NewData = data.filter(item=>{if(item.area == '北京经济技术开发区') {item.area = item.area.replace(item.area,'经开区')}if(item.time.indexOf('一')!=-1)item.time = item.time.replace('一','01')if(item.time.indexOf('二')!=-1)item.time = item.time.replace('二','02')if(item.time.indexOf('三')!=-1)item.time = item.time.replace('三','03')if(item.time.indexOf('四')!=-1)item.time = item.time.replace('四','04')return item
})
console.log(NewData)

slice应用

接口返回的所有数据只展示前3名的数据

var data = [{"area": "东城区"},{"area": "西城区"},{"area": "丰台区"},{"area": "经开区"},{"area": "通州区"},{"area": "朝阳区"}]
let three = data.slice(0,3)
console.log(three)

“其他项放在最后” 

        应用场景:饼状图把其他项排在最后

 

 

let arr = [{name:'小明',fen:46},{name:'小张',fen:51},{name:'小李',fen:60},{name:'其他',fen:65},{name:'小钱',fen:80},{name:'小孙',fen:81}
];
let lastitem = arr.filter(item => item.name=='其他');
let ind = arr.findIndex(item => item.name == '其他');
arr.splice(ind,1)
arr.push(lastitem[0])
console.log(arr)

更多推荐

获得字符串第一个字符和最后一个字符及扩展

本文发布于:2024-02-17 09:16:41,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1693495.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符   第一个   字符串

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!