相关文章推荐
腼腆的菠菜  ·  Dynamics Community ...·  4 月前    · 
迷茫的皮带  ·  App crash on Android ...·  1 年前    · 
本文详细介绍了JavaScript中如何进行字符串到数组的转换,包括使用split、Array.from、扩展运算符、match和Array.prototype.map.call等方法。同时,也涵盖了数组转字符串的多种方式,如拼接、toString、join和toLocaleString。此外,还讨论了数组到对象以及对象到数组的转换方法,包括扩展语法、for循环、object.assign、reduce、Object.keys、Object.values、Object.entries以及Array.from。最后提到了字符串转对象的JSON.parse和eval等方法。 摘要由CSDN通过智能技术生成 console.log('结果为:', b);//[ 'a', 'b', 'b', 'd', 'l' ]

2) 第二种方法: Array.from( )

let str = 'hello'
let arr = Array.from(str)
console.log(arr);//[ 'h', 'e', 'l', 'l', 'o' ]

3) 第三种方法: 扩展运算符(...)

let str = 'Hello'
let arr = [...str]
console.log(arr);// [ 'H', 'e', 'l', 'l', 'o' ]

4) 第四种方法: 字符串的match( )

let str = 'hello world'
let arr = str.match(/\S+/g)
console.log(arr);// [ 'hello', 'world' ]

5) 第五种方法: Array.prototype.map.call()

//Array.prototype.map(): 将字符串中每个字符转换成数字,并将它们存储在一个数组中
let str = '122344'
let arr = Array.prototype.map.call(str,(x)=>{
    return parseInt(x)
console.log(arr);//[ 1, 2, 2, 3, 4, 4 ]

<2>字符串转二维数组:

1)  第一种方法: 使用split()和map()

let str = '1,2,3;e,r,t;喀'
let arr = str.split(';').map(item=>item.split(','))
console.log(arr);//[ [ '1', '2', '3' ], [ 'e', 'r', 't' ], [ '喀' ] ]

<3>多个字符串转维数组:

const names = '张三'
const age = 23
const color = '橘黑色'
const infoArr = [names, age, color] //[ '张三', 23, '橘黑色' ]

二>数组转字符串

1) 第一种方法: 拼接字符串

const arr = ['one','two','three','four']
const str = arr + ''
console.log(str);//one,two,three,four

2)第二种方法: 使用Array.prototype.toString()

const arr = ['one','two','three','four']
const str = arr.toString()
console.log(str);//one,two,three,four

3)第三种方法:使用 Array.prototype.join方法

const arr = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday']
const str = arr.join(", ");
console.log(str) // Sunday, Monday, Tuesday, Wednesday, Thursday

4) 第四种方法: 使用Array.prototype.toLocaleString方法

const arr = ['one','two','three','four']
const str = arr.toLocaleString()
console.log(str);//one,two,three,four

5)第五种方法: 使用Array.prototype.join()

const arr = ['one','two','three','four']
const str = arr.join(',')
console.log(str);// one,two,three,four

三>数组转对象的方法

1)  第一种方法: 使用ES6的扩展语法

const arr = ['one','two','three','four']
const obj = {...arr}
console.log(obj);//{ '0': 'one', '1': 'two', '2': 'three', '3': 'four' }

2)第二种方法: 使用for循环

const arr = ['one','two','three','four']
const obj = {}
for(let i=0;i<arr.length;i++){
    obj[i]= arr[i]
console.log(obj);// { '0': 'one', '1': 'two', '2': 'three', '3': 'four' }

3)  第三种方法: 使用object.assign()方法

const arr = ['one','two','three','four']
const obj = Object.assign({},arr)
console.log(obj);//{ '0': 'one', '1': 'two', '2': 'three', '3': 'four' }

4)第四种方法: 使用reduce()方法

array.reduce(function(total, currentValue, currentIndex, arr), initialValue) *prev:上次调用函数的返回值(必需) *currentValue:当前的元素(必需) *currentIndex:当前元素索引(可选) *arr:当前元素所属的数组对象(可选) *initialValue:传递给函数的初始值(可选) const arr = ['one', 'two', 'three', 'four'] const obj = arr.reduce((pre, cur, index) => { pre[index] = cur return pre }, {}) console.log(obj);//{ '0': 'one', '1': 'two', '2': 'three', '3': 'four' }

四>对象转数组的方法

1) 第一种方法:使用for...in

const obj = {
    a: 1,
    b: 2,
const arr = []
for (let key in obj) {
    arr.push(obj[key])
console.log(arr);// [ 1, 2, 3 ]

2)第二种方法:使用 Object.keys()

Object.keys():返回一个由对象的属性名组成的数组 const obj = { a: 1, b: 2, const arr = Object.keys(obj) console.log(arr);//[ 'a', 'b', 'c' ]

3)  第三种方法:使用Object.values()

Object.values():返回一个由对象的属性值组成的数组 const obj = { a: 1, b: 2, const arr = Object.values(obj) console.log(arr);//[ 1, 2, 3 ]

4) 第四种方法:使用Object.entries()

Object.entries():将对象的属性名和属性值转为二维数组。 const obj = { a: 1, b: 2, const arr = Object.entries(obj) console.log(arr);//[ [ 'a', 1 ], [ 'b', 2 ], [ 'c', 3 ] ]

5) 第五种方法:使用Array.from(obj)

Array.from():将类数组对象或可迭代对象转为数组 const obj1 = { 0: 'a', 1: 'b', 2: 'c', length: 3 }; const arr2 = Array.from(obj1); console.log(arr2); // ['a', 'b', 'c']

五>字符串转对象的方法

1)第一种方法:JSON.parse()

const str = '{"name":"小米","age":21}'
const obj = JSON.parse(str)
console.log(obj);//{ name: '小米', age: 21 }

2) 第二种方法:  字符串的eval()方法

onst str = '{"name":"小米","age":21}'
const obj = eval("("+str+")")
console.log(obj);//{ name: '小米', age: 21 }

3) 第三种方法:使用构造函数

const str = '{"name":"小米","age":21}'
const obj = (new Function("return" +str))()
console.log(obj);//{ name: '小米', age: 21 }
var a=[1,2,3]; console.log(a.join()); //&amp;quot;1,2,3&amp;quot; console.log(a.toString()); //&amp;quot;1,2,3&amp;quot; console.log(a.join(&amp;quot;+&amp;quot;)); //1+2+3 console.log(a.toString(&amp;quot;+&amp;
javascript 字符串 数组 对象 转换 一、 数组 字符串 String()和toString() 都可以将null和undefine数据类型转 字符串 ,但是string方法无法转化进制 字符串 而tostring方法可以 var arr = [1,'ty',4,'er',562]; console.log(arr.toString()); //1,ty,4,er,562 con...
label_exp: "["cap_pop","wkb_geometry"]" 就是需要操作的 数组 对象 假如我们直接使用obj.label_exp.find(item=>{})会提示该label_exp不是一个function 好嘛,那我们换着 使用 for(let ... eval() 函数用来执行一个 字符串 表达式,并返回表达式的值 如果参数是一个表达式,eval() 函数将执行表达式。如果参数是 Javascript 语句,eval()将执行 Javascript 语句。 eval("x=10;y=20;document.write(x*y)"); document.write("&lt...
将 str = “1,2,3”, str2 =“ann,lili,john” 转为:arr = [{id: 1,name: ‘ann’},{id: 2, name: ‘lili’},{id: 3,name: ‘john’}]; 代码如下: let arr = []; let s1 = str.split(','); s.forEach((item, i)=>{ let obj = {}; obj.id = item; arr.push(obj) let s2 = str
要将 字符串 数组 转换 对象 数组 ,你需要先定义一个 对象 构造函数,该构造函数接受一个 字符串 参数并将其 转换 对象 属性。然后,将 字符串 数组 的每个 字符串 都传递给该构造函数,生成一个 对象 数组 。 以下是一个示例代码,将一个包含 字符串 数组 转换 为一个包含 对象 数组 : ``` javascript // 定义 对象 构造函数 function Person(name, age) { this.name = name; this.age = age; // 定义 字符串 数组 var peopleStr = ["{'name':'Alice', 'age':20}", "{'name':'Bob', 'age':30}", "{'name':'Charlie', 'age':40}"]; // 将 字符串 数组 转换 对象 数组 var peopleObj = peopleStr.map(function(str) { return JS ON.parse(str.replace(/'/g, "\"")); // 先将 字符串 的单引号替换为双引号,再解析为 JS ON 对象 }).map(function(obj) { return new Person(obj.name, obj.age); // 使用 对象 构造函数生成 对象 console.log(peopleObj); // 输出 对象 数组 在这个示例代码 ,我们首先定义了一个 `Person` 构造函数,用于将 字符串 转换 对象 。然后,我们定义了一个包含三个 字符串 数组 `peopleStr`,每个 字符串 都表示一个人的信息。接着,我们使用 `map` 方法遍历 `peopleStr` 数组 ,将其 转换 为包含三个 JS ON 对象 数组 。由于 JS ON 对象 的属性名必须使用双引号而不是单引号,我们使用 `replace` 方法,包括添加课程和查看学生名单。 希望这个代码能够帮助到你,如果有什么问题欢迎再问!
CSDN-Ada助手: 恭喜您撰写了第18篇博客!标题看起来非常有吸引力,我对您深入讲解Node操作redis的旧版和新版非常期待。您的博客一直以来都给我带来了很多启发和帮助。在这里,我非常感谢您不断分享知识和经验。 鉴于您在Node操作redis方面的专业知识,我诚挚地建议您在未来的创作中,可以考虑探索更多与redis相关的主题,例如如何优化性能、如何处理异常情况等。此外,您还可以分享一些实际案例,让读者更好地理解如何将redis应用于实际项目中。 再次感谢您的辛勤努力,并期待您未来更多精彩的博客! window10删除文件需要权限,解决去除管理员权限的方法 CSDN-Ada助手: 非常感谢您分享这篇博客,标题看起来非常有用!恭喜您已经完成了第19篇博客,这真是一项了不起的成就。您提供的解决方法对于那些遇到类似问题的用户来说肯定非常有帮助。 希望您能继续保持创作的热情,并持续分享您的经验和知识。对于下一步的创作建议,我认为您可以考虑探索更多关于Windows 10中其他常见问题的解决方法,或者分享一些使用技巧和最佳实践。这样的话,读者将能够从您的博客中获取更多有关Windows 10的宝贵信息。再次感谢您的分享,期待您的下一篇博客!