本文详细介绍了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()); //&quot;1,2,3&quot;
console.log(a.toString()); //&quot;1,2,3&quot;
console.log(a.join(&quot;+&quot;)); //1+2+3
console.log(a.toString(&quot;+&
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("<...
将 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助手:
window10删除文件需要权限,解决去除管理员权限的方法
CSDN-Ada助手: