JS---数组方法和字符串方法

1.数据字典类型的数据:

往后端传数据,往后端传要传字符串类型(多个值以逗号分隔),因为后端接收的是字符串

                         而前端使用的多选框控件产生的数据是数组,所以往后端传的时候要转化为字符串;

后端返回数据,后端返回的也是逗号分隔的字符串,

                        要回显在前端的多选框控件中,要将后端返回的数据转化为数组才能回显

注:字符串转数组 .split(',')//以逗号分隔截出来的字符为数组的每一项

数组转字符串 .toString()

2.for of遍历数组,for in遍历对象

for in 遍历数组和对象,for in 输出的是数组的index下标,而for of 输出的是数组的每一项的值。

for of 只能遍历数组,

for of 为啥不能遍历对象?(简要回答就是因为对象里没有遍历器)

因为能够被for...of正常遍历的,都需要实现一个遍历器Iterator。而数组、字符串、Set、Map结构,早就内置好了Iterator(迭代器),它们的原型中都有一个Symbol.iterator方法,而Object对象并没有实现这个接口,使得它无法被for...of遍历。

所以遍历数组用for of ,遍历对象用for in

//遍历属性名
for(let key in test) {
    console.log(key);
}
//遍历属性值
for (let key in test) {
     console.log(test[key]);
}

toString() 只能将数组转化成以逗号分割的字符串

3.join(",") 可以指定分隔符,将数组转化成字符串

分隔符填啥,转成的字符串就以啥分割(超级无敌实用小技巧)

4.split()

var txt = "a,b,c,d,e";   // 字符串
txt.split(",");          // 用逗号分隔   ==>["a","b","c","d","e"]   
txt.split(" ");          // 用空格分隔
txt.split("|");          // 用竖线分隔

如果省略分隔符,被返回的数组将包含 index [0] 中的整个字符串。

如果以逗号为分隔符,被返回的数组将是间隔单个字符的字符串数组 ["a","b","c","d","e"]

let arr = Str.split(",");
let aindex = arr.indexOf("11");
arr.splice(aindex, 1);//aindex是开始位置的索引,从下标为aindex的位置开始,删除一个(包括aindex位置的元素)
let dictIds = arr.join(",");


let Str="2023-04-28 09:47:00"
Str.split(" ")[0] + "T" + Str.split(" ")[1];
console.log(Str);   ==>2023-04-28T09:47:00

如果省略第二个参数,则 substring() 将裁剪字符串的剩余部分。

let row.a10="0小时";//对于字符间没有分隔字符的字符串,可以用分隔符为空的方式分割成单个字符组成的数组
let arr=row.a10.split("");//如果分隔符为空,则字符串被分割成单个字符组成的数组
let timeIndex=arr.indexOf("小");
arr.splice(timeIndex,2);
this.formNotice.timeNum= arr.join(',');

5.数组 push() 尾增

var arr =[];
arr.push(123); //可插入字符串
arr.push({
    id:this.edit_id  //可插入对象
})

6.数组 concat() 拼接

arr.concat(arr1,arr2);//多个数组合并成一个数组

var arr = [1,2,3,4,5]
var arr1=[6,7]
var newArr = arr.concat(arr1);
console.log("原数组",arr);  //原数组 (5) [1, 2, 3, 4, 5]
console.log("返回值",newArr); //返回值 (7) [1, 2, 3, 4, 5, 6, 7]

7.字符串替换 replaceAll()

字符串.replaceAll(String regex, String replacement)

其中,regex 表示正则表达式,replacement 表示用于替换的字符串。例如:

String words = "hello java,hello php";
String newStr = words.replaceAll("hello","你好 ");
System.out.println(newStr);    // 输出:你好 java,你好 php

//replace() 方法用于将目标字符串中的指定字符(串)替换成新的字符(串)
字符串.replace(String oldChar, String newChar)

字符串.replaceFirst(String regex, String replacement)

8、search() 字符串匹配

string.search(regexp)
string 中第一个与 regexp 相匹配的子串的起始位置。
如果没有找到任何匹配的子串,则返回 -1。


let text = "Mr. Blue has a blue house";
let position = text.search("Blue");// 4

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值