一、选择排序
1.思想:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置(交换位置),再从剩余未排序元素中继续寻找最小(大)元素,放到序列末尾,重复以上操作。
n个数,进行n-1次选择
var arr = [12, 11, 23, 34, 43, 21, 42, 55, 13]
var n = arr.length
for (var i = 0; i < n - 1; i++) {
var minIndex = i
for (var j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j
}
}
var temp = arr[i]
arr[i] = arr[minIndex]
arr[minIndex] = temp
}
console.log(arr)
二、数组去重
1.思想:定义一个空数组存储去重后的元素
遍历原数组
判断新数组中是否有原数组中的当前元素,如果没有,就存储到新数组中去
var arr = [2, 2, 34, 5, 4, 6, 8, 6]
var newArr = []
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) == -1) {
newArr.push(arr[i])
}
}
console.log(newArr)
三、字符串
1.字面量方式:var str='helloword'
2.构造函数方式:var str=new String('helloword')
3.字符串是由一系列字符构成,每个字符对应数组下标,和数组相似
4.访问字符串:str[0],不能赋值
5.length字符串长度:console.log(str.length)
6.字符串遍历:
for(var i=0;i<str.length;i++){
console,log(str[i])}
7.包装类型:当使用点语句调用属性和方法时,自动转为复杂数据类型,使用完又转为基本数据类型。使用点语句:.tostring
四、字符串的常用方法
1.charat:==>根据下标返回字符
str.charat(下标)
2.indexOf==>返回字符在字符串中的下标,如果字符不存在返回-1(从右往左找)
console.log(str.indexOf('h'))
3.lastIndexOf==>从右往左找
4.substring==>用来截取字符串--->与slice类似
substring(从哪个索引开始,到那个索引结束),包含开始,不包含结束
5.substr==>也用来截取字符串--->与splice类似
str.substr(1,3)-->表示从一开始,截取三个元素
6.replace==>用于在字符串中用一些字符串替换另一些字符串
replace(原字符串,新字符串)
7.split==>分割字符串,将分割之后的字符串存入数组返回
split('')==>返回数组
8.concat==>连接两个字符串,连接之后返回链接的字符串
var str='hello'
var newStr=str.concat('word')
9.trim==>删除字符串两端的空白符,返回去掉空格的新字符
10.startswith()==>判断字符是否以什么开始,时返回ture,否返回false
11.endswith()==>判断字符是否以什么结束,时返回ture,否返回false
12.toLowerCase==>将字母转成小写
13.toupperCase==>将字母转成大写
列题:
//反转字符串
var str = 'abcdefg'
var newStr = ''
for (var i = str.length - 1; i >= 0; i--) {
newStr = newStr + str[i]
}
console.log(newStr)
// 替换字符串
// function testReplace() {
// var str = 'abcedfdMMefallMMaefeafMMopqrst' // => abcedfd**efall**aefeaf**opqrst
// var newStr = str.split('MM')
// var newStr = newStr.join('**')
// console.log(newStr)
// }
// testReplace()
var str = 'abcedfdMMefallMMaefeafMMopqrst'
while (str.indexOf('MM') != -1) {
str = str.replace('MM', '**')
}
console.log(str)
// 字符串分割
function testSplit() {
var str = 'javascript-html-css' // => ['javascript','css','html']
var str = str.split('-')
console.log(str)
}
testSplit()
// 不使用split的情况
var str = 'javascript-html-css'
var str1 = '' //拼接的字符串
var arr = [] //用来装分割后的字符串
for (var i = 0; i < str.length; i++) {
var chars = str.charat(i)
if (chars != '-') {
str1 = str1 + chars
} else {
if (str1 != '') {
arr.push(str1)
str1 = ''
}
}
if (i == str.length - 1 && str1 != '') {
arr.push(str1)
str1 = ''
}
}
console.log(arr)
原文地址:https://www.jb51.cc/wenti/3287885.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。