将一个字符串数组输出为|分割的形式,比如“刘备|张飞|关羽”。使用两种方式实现

  1. <script>
  2. //“刘备|张飞|关羽”
  3. var arr = ["刘备","张三","关羽"];
  4. console.log(arr.join("|"));
  5. </script>

image.png

  1. function myJoin(array, seperator) {
  2. seperator = seperator || ',';
  3. array = array || [];
  4. if (array.length == 0){
  5. return '';
  6. }
  7. var str = array[0];
  8. for (var i = 1; i < array.length; i++) {
  9. str += seperator + array[i];
  10. }
  11. return str;
  12. }
  13. var array = [6, 3, 5, 6, 7, 8, 0];
  14. console.log(myJoin(array, '-'));
  15. console.log(array.join('-'))

image.png

找到数组中每一个a出现的位置

    <script>
        //["c", "a", "z", "a", "x", "a"];  找到数组中每一个a出现的位置
        var arr = ["c", "a", "z", "a", "x", "a"];
        //找到第一个a出现的位置
        //indexOf() 可以传两个参数 。如果没有找打对应的元素,则返回-1
        //1.要查找的元素
        //2.从什么位置开始查找该元素
        //var index = arr.indexOf("a",4);
        //console.log(index);

        var index = arr.indexOf("a");
        console.log(index);
        while(true){
            index = arr.indexOf("a",index+1);
            if(index == -1){
                break;
            }
            console.log(index);
        }
    </script>

image.png

将一个字符串数组的元素的顺序进行反转。

[“a”, “b”, “c”, “d”] -> [ “d”,”c”,”b”,”a”]。使用两种种方式实现。提示:第i个和第length-i-1个进行交换

function myReverse(arr) {
  if (!arr || arr.length == 0) {
    return [];
  }
  for (var i = 0; i < arr.length / 2; i++) {
    var tmp = arr[i];
    arr[i] = arr[this.length - i - 1];
    arr[arr.length - i - 1] = tmp;
  }
  return arr;
}
var array = ['a', 'b', 'c'];
console.log(myReverse(array));
console.log(array.reverse());

image.png

编写一个方法去掉一个数组的重复元素

    <script>
        var array =  ['c', 'a', 'z', 'a', 'x', 'a'];
        //对象
        var obj = {};
        //遍历数组
        for(var i=0;i<array.length;i++){
            //获取数组里面每一个元素
            var n = array[i];
            //判断obj[a] 是否在对象中已经存在
            if(obj[n]){
                obj[n] ++;
            }
            else{
                obj[n] = 1;
            }
        }

        var newArray = [];
        for(var key in obj){
            newArray.push(key);
        }
        console.log(newArray);
    </script>

image.png

var array =  ['c', 'a', 'z', 'a', 'x', 'a'];
function clear() {
  var o = {};
  for (var i = 0; i < array.length; i++) {
    var item = array[i];
    if (o[item]) {
      o[item]++;
    }else{
      o[item] = 1;
    }
  }
  var tmpArray = [];
  for(var key in o) {
    if (o[key] == 1) {
      tmpArray.push(key);
    }else{
      if(tmpArray.indexOf(key) == -1){
        tmpArray.push(key);
      }
    }
  }
  return tmpArray;
}
console.log(clear(array));

image.png

    <script>
        var array =  ['c', 'a', 'z', 'a', 'x', 'a'];
        var newArray = [];
        for(var i=0;i<array.length;i++){
            //获取原来数组中的每一个元素
            var n = array[i];
            //现在要将这个n加入到新数组,首先得判断新数组中是否已经有了他
            //如果没有则添加,如果有了就放弃
            var isexist = false;
            for(var j=0;j<newArray.length;j++){
                if(newArray[j] == n){
                    isexist = true;
                    break;
                }
            }
            //如果新数组中没有存在过当前元素,则将当前元素添加到新数组
            if(isexist == false){
                newArray.push(n);
            }
        }
        console.log(newArray);
    </script>

image.png

工资的数组[1500, 1200, 2000, 2100, 1800],把工资超过2000的删除

方式1

var array =  [1500,1200,2000,2100,1800];
var tmpArray = [];
for (var i = 0; i < array.length; i++) {
  if(array[i] < 2000) {
    tmpArray.push(array[i]);
  }
}
console.log(tmpArray);

image.png

方式2

var array =  [1500, 1200, 2000, 2100, 1800];
array = array.filter(function (item, index) {
  if (item < 2000) {
    return true;
  }
  return false;
});
console.log(array);

image.png