JavaScript全解析——案例-字符串翻转
●方案1 :
// 定义一个字符串
var str = 'abcdefg'
// 定义一个空的字符串
var str1 = ''
// 循环遍历字符串
for (var i = 0; i < str.length; i++) {
console.log(str[i]);
str1 = str[i] + str1
}
console.log(str1);
●方案2 :
// 我们学过一个数组里面的方法是reverse 翻转的意思但是这个是数组的方法
// 我们只要想办法把字符串转换成数组就好了
// 字符串里面有一个方法 split() 就是用连接符把一个字符串转换成数组
// 转换成了数组以后我们调用reverse 方法
// 但是 reverse 方法执行完了以后是不还是一个数组啊
// 我们是不是还要转换成一个字符串
// 数组里面有一个方法叫join()方法
var str = 'abcdefg'
var s1 = str.split('')
console.log(s1);
var s2 = s1.reverse()
console.log(s2);
var s3 = s2.join('')
console.log(s3);
// 简化一下
var str = 'abcdefg'
var res = str.split('').reverse().join('')
console.log(res);
案例-查询字符串操作
查询字符串: 'name=Jack&age=18&gender=男'
用于前后端数据交互的时候传递参数的一种格式
查询字符串中每条信息之间必须使用&符号隔开
每条信息有key和value组成
每条信息之间使用等号(=)连接
●查询字符串转换为对象
function parseQueryString(str) {
// 因为你最要返回一个对象所以要有一个对象
var obj = {}
// 我们拿到了传递进来的字符串 但是我们要的对象里面是键值对的形式
// 所以首先我们要去掉&符号
var str = str.split('&')
console.log(str);
// 我们现在得到的是一个数组 要得到里面的每一个是不是要通过循环
str.forEach(function (item) {
console.log(item);
var s = item.split('=')
console.log(s);
obj[s[0]] = s[1]
})
// 最后我们要得到的也是一个对象 所以我们也要返回一个对象
return obj
}
代码优化
function parseQueryString(str) {
var obj = {}
var str = str.split('&')
str.forEach(function (item) {
obj[item.split('=')[0]] = item.split('=')[1]
})
return obj
}
var res = parseQueryString('name=Jack&age=18&gender=男')
console.log('转换后的结果 :', res);
●对象转换为查询字符串
function queryString(obj) {
// 1.定义一个空字符串
var str = ''
// 2. 实现过程
// 拿到了传进来的对象我们是不是要拿到对象里面的键和值
for (var k in obj) {
console.log(k, '----------', obj[k]);
// 我们能拿到键和值 接下来就是字符串的拼接了是把
str += k + '=' + obj[k] + '&'
}
// 我们最后只要把后面的&符号去掉就好了
// str = str.slice(0, str.length - 1)
str = str.slice(0, -1)
// 3.返回一个最后的结果
return str
}
// 代码优化
function queryString(obj) {
var str = ''
for (var k in obj) {
str += k + '=' + obj[k] + '&'
}
return str.slice(0, -1)
}
// 使用
var res = queryString({ name: 'Jack', age: '18', gender: '男' })
console.log('最后的结果 :', res);
JOSN 格式字符串
json 字符串格式
●JSON格式字符串: '{"name":"Jack","age":18,"gender":"男"}'
○字符串内必须是对象或者数组这样的数据类型别的不可以
○字符串内的key和value必须要使用双引号("")包裹,纯数字和布尔值除外
○在key 和 value 以外的位置只能有 {} [] : , 不能有其它的符号
○在集合内最后一项的末尾不能有多余的逗号(,)
json 的作用
●主要用于传送数据
●JSON 可以将 js 对象中表示的一组数据转换为字符串
●然后就可以在函数之间轻松地传递这个字符串
●或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序
json 格式字符串常用方法
●js 为我们提供了两个方法来操作JSON格式的数据
1.把js的数据格式转换成JSON格式
○语法: JSON.stringify(js数据格式)
○返回值: 转换好的数据格式
// js数据格式转换为JSON格式
var obj = { name: "Jack", age: 18, gender: "男" }
var res = JSON.stringify(obj)
console.log(res);
console.log(typeof res);
2.把JSON格式转换成js数据格式
○语法: JSON.parse(JSON数据格式)
○返回值: 转换好的数据格式
// json 格式数据转换成js数据格式
var str = '{"name":"Jack","age":18,"gender":"男"}'
var res = JSON.parse(str)
console.log(res);
console.log(typeof res);
猜你喜欢LIKE
相关推荐HOT
更多>>servlet底层原理是什么?
1、ServletAPI核心类与接口2、Servlet类处理请求的流程创建servlet类的步骤:创建一个命名为TestServlet继承javax.servlet.http.HttpServlet类详情>>
2023-05-30 10:41:22多线程的优势与劣势分别是什么?
多线程是指在同一个程序中,同时运行多个线程,每个线程都可以独立执行不同的任务,相互之间不会干扰。多线程的优势和劣势如下:优势:提高程序...详情>>
2023-05-30 10:32:12设计模式之生产者与消费者的代码实现
本文主要讲述生产者和消费者模式,文中会使用通俗易懂的案例,使你更好地学习本章知识点并理解原理,做到有道无术。什么是生产者和消费者模式生...详情>>
2023-05-30 10:25:46从零开始学Java之interface接口
一.接口简介简介Java中的接口(interface)类似于是一种特殊的抽象类,它也是众多抽象方法的集合。接口的定义方式、组成部分都与抽象类相似,却比...详情>>
2023-05-29 11:26:17热门推荐
如何进行mysql数据备份?
沸什么是servlet的生命周期?servlet请求处理流程是怎样的?
热servlet底层原理是什么?
热怎样编写java程序?
新多线程的优势与劣势分别是什么?
ssm框架的作用与原理是什么?
设计模式之生产者与消费者的代码实现
接口和抽象类有什么区别?4个方面对比
从零开始学Java之interface接口
从零开始学Java之Java中的内部类是怎么回事?
一分钟带你了解MySQL——基础与介绍
在java中,super关键字怎样使用
什么是事件流以及事件流的传播机制 ?
弹性盒有哪些属性是在父元素身上?