1、求一组数中的最大值和最小值,以及所在位置(最大值和最小值在这组数中的位置)

 var numbers = [120, 13, 101, 88, 10, 25];
var max = numbers[0];
var min = numbers[0];
// 最大值的索引
var maxIndex = 0;
// 最小值的索引
var minIndex = 0; for (var i = 1; i < numbers.length; i++) {
// 找大的数
if (max < numbers[i]) {
max = numbers[i];
maxIndex = i;
}
// 找小的数
if (min > numbers[i]) {
min = numbers[i];
minIndex = i;
}
}
console.log(max, min);
console.log(maxIndex, minIndex);

2、将字符串数组用 | 或其他符号分割

 var names = ['西伯利亚狼', '灰狼', '土狼', '大尾巴狼', '狗头老高'];
// 往第二个元素之前加分隔符
var seperator = '|'; // 分隔符
var str = names[0];
for (var i = 1; i < names.length; i++) {
str += seperator + names[i];
}
console.log(str);

3、翻转数组   1,2,3,4  -> 4,3,2,1

 var numbers = [4, 5, 7, 9];   // 生成一个新的数组  数组中存储 9 7 5 4
var newArray = [];
for (var i = numbers.length - 1; i >= 0; i--) {
newArray[newArray.length] = numbers[i];
}
console.log(newArray);

4、冒泡排序

   // 冒泡排序    -- 从小到大的排序
var numbers = [1, 3, 5, 2, 4];
var count = 0; // 记录循环的次数
// 外层循环:控制趟数,每一趟找到一个最大值
for (var i = 0; i < numbers.length - 1; i++) {
count++;
// 内层循环:控制比较的次数,并且判断两个数的大小,把大的数往后移动,小的数往前移动
for (var j = 0; j < numbers.length - 1 - i; j++) {
count++;
// 两两比较 从小到大排序
if (numbers[j] > numbers[j + 1]) {
// 交换位置
var tmp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = tmp;
}
}
}
console.log(numbers);
console.log(count);

5、冒泡排序——优化

   var numbers = [1, 3, 5, 2, 4];
var count = 0; // 记录循环的次数
// 外层循环:控制趟数,每一趟找到一个最大值
for (var i = 0; i < numbers.length - 1; i++) {
// 假设数据排好顺序了
var isSort = true;
count++;
// 内层循环:控制比较的次数,并且判断两个数的大小,把大的数往后移动,小的数往前移动
for (var j = 0; j < numbers.length - 1 - i; j++) {
count++;
// 两两比较 从小到大排序
if (numbers[j] > numbers[j + 1]) {
// 没有排好
isSort = false;
// 交换位置
var tmp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = tmp;
}
}
// 某一趟结束,判断一下排序是否结束
// 如何判断排序是否排好,根据是否发生了数据交换,如果发生了数据交换说明没有排好
if (isSort) {
// 如果排好顺序
break;
}
}
console.log(numbers);
console.log(count);

4、

最新文章

  1. java—数组乘积输入: 一个长度为n的整数数组input 输出: 一个长度为n的数组result,满足result[i] = input数组中,除了input[i] 之外的所有数的乘积,不用考虑溢出例如 input {2, 3, 4, 5} output: {60, 40, 30, 24}
  2. HDU 5084 HeHe --找规律
  3. CentOS6 root 用户 vi/vim 无法开启高亮
  4. kettle中Get Data from XML , Jason Input , 文本文件输入 使用示例
  5. python unicode&amp;str 转化
  6. ReactiveCocoa的冷信号与热信号 探讨
  7. Java开发小技巧(一)
  8. Ajax 的用法
  9. HTML元素分类【三种类型】
  10. VS2012 TFS解决离职后代码遗留未迁入问题
  11. SSM-MyBatis-18:Mybatis中二级缓存和第三方Ehcache配置
  12. SmartSql Map
  13. JVM垃圾回收机制之对象回收算法
  14. markdown操作手册
  15. 【NPOI】WebAPI-使用NPOI导出Excel
  16. 优化openfire服务器提升xmpp 效率的15个方法(原创)
  17. 通过Gson解析Json数据
  18. Android——开源框架Universal-Image-Loader + Fragment使用+轮播广告
  19. 原生js--addEventListener和attachEvent的区别
  20. echarts 地图 免费离线js,json包分享

热门文章

  1. 01-Eigen的安装
  2. VIJOS-P1152 肥猫的游戏
  3. eclipse scala语法用java检验 报错问题
  4. SPA项目开发之动态树+数据表格+分页
  5. 使用Java8特性对list进行按属性去重
  6. 【操作系统之五】Linux常用命令之grep
  7. SpringCloud组件学习-图
  8. this与bind(this) (es5新增)
  9. 【转帖】netstat命令总结
  10. JavaScript生成一个不重复的ID