concat合并的数组会有顺序么_超全的JS常用数组方法整理

  • 前言
  • 常用数组方法汇总
  • 方法解析
    • 1:concat();
    • 2:join();
    • 3:pop();
    • 4:shift();
    • 5:unshift();
    • 7:reverse();
    • 8:sort();
    • 9:slice();
    • 10:splice();
    • 11:toString();
    • 12:valueOf();
    • 13:IndexOf();
    • 14:lastIndexOf();
    • 15:forEach();
    • 16:map();
    • 17:filter();
    • 18:every();
    • 19:some();
    • 20.reduce();
    • 21.reduceRight()
  • 三:哪些数组方法会改变原数组
  • 参考文章

前言

我们在学到js中数组的时候,我们会接触到js中数组的一些方法这些方法对我们来说,可以很便利的达到我们想要的结果,但是因为方法比较多,有些方法也不常用,可能会过一段时间就会忘记,那么在这里我整理了21个数组的方法,供大家查阅。

常用数组方法汇总

5de7bb2e5d47913d91425fce5a649d35.png

方法解析

1:concat();

功能:合并数组,可以合并一个或多个数组,会返回合并数组之后的数据,不会改变原来的数组

var str1 = [12,2,"hello"];var str2 = ["world"];
console.log(str1.concat(str2));        //[12, 2, "hello", "world"]
console.log(str1);                //[12,2,"hello"];

2:join();

功能:将数组转为字符串并返回转化的字符串数据,不会改变原来的数组;

注意:()中用双引号包括自己想用的分隔符,默认为逗号,这里方便观察,我用了-  

var str1 = [12,2,"hello"];
var str2 = ["world"];
console.log(str1.join("-"));        //12-2-hello
console.log(str1);              //[12, 2, "hello"]

3:pop();

功能:删除数组的最后一位,并且返回删除的数据,会改变原来的数组

var str1 = [12,2,"hello"];
console.log(str1.pop()        //hello
console.log(str1);          //[12, 2]

4:shift();

功能:删除数组的第一位数据,并且返回删除的数据,会改变原来的数组

5:unshift();

功能:在数组的首位新增一个或多数据,并且返回新数组的长度,会改变原来的数组

注意:unshift()方法返回的数据是新数组的长度,它增加的数据可以是一个也可以是多个,可以理解为增加一连串的数据,

var str1 = [12,2,"hello"];
var str2 = [43,2,"test"];
console.log(str1.unshift("你好"));              //4
console.log(str2.unshift("hello","world"));        //5
console.log(str1);                       //["你好", 12, 2, "hello"]
console.log(str2);                       //["hello", "world", 43, 2, "test"]

6:push();

功能:在数组的最后一位新增一个或多个数据,并且返回新数组的长度,会改变原来的数组

注意:push()方法返回的是数据是新数组的长度,它增加的数据可以是一个也可以是多个,可以理解为增加一连串的数据。

var str1 = [12,2,"hello"];
var str2 = [43,2,"test"];
console.log(str1.push("你好"));          //4
console.log(str2.push("hello","world"));    //5
console.log(str1);                 //[12, 2, "hello","你好"]
console.log(str2);                 //[43, 2, "test","hello", "world"]

7:reverse();

功能:将数组的数据进行反转,并且返回反转后的数组,会改变原数组

var str1 = [12,2,"hello"];
console.log(str1.reverse());      //["hello", 2, 12]
console.log(str1);            //["hello", 2, 12]

8:sort();

功能:对数组内的数据进行排序(默认为升序),并且返回排过序的新数组,会改变原来的数组

注意:

  • 8.1:这里的排序是针对字符的排序,先使用数组的toString()方法转为字符串,再逐位比较,3是大于12的,因为首位3>1,不要与Number型的数据排序混淆
  • 8.2:str2数组中增加了三个字符,可以看到,比较的时候,zoom是最大的,因为首位的英文字母通过ASCII码可以转为相应的数值,再根据数值比较
var str1 = [12,2,43,5,2,5];
var str2 = [92,2,43,"hello",'zoom',5,2,5];
console.log(str1.sort());//[12, 2, 2, 43, 5, 5]
console.log(str1);//[12, 2, 2, 43, 5, 5]
console.log(str2.sort());//[2, 2, 43, 5, 5, 92, "abc", "hello", "zoom"]
console.log(str2);//[2, 2, 43, 5, 5, 92, "abc", "hello", "zoom"]
  • 8.3:排序问题

参数:sort(callback) 如果需要按照数值排序,需要传参。sort(callback)callback为回调函数,该函数应该具有两个参数,比较这两个参数,然后返回一个用于说明这两个值的相对顺序的数字(a-b)。其返回值如下:

若 a 小于 b,返回一个小于 0 的值。

若 a 等于 b,则返回 0。

若 a 大于 b,则返回一个大于 0 的值。

var str3 = [92,2,43,5,2,5];     
console.log(str3.sort(fn));                 //[2, 2, 5, 5, 43, 92]
console.log(str3);                      //[2, 2, 5, 5, 43, 92]
function fn (a,b){return a-b;}

9:slice();

功能:截取指定位置的数组,并且返回截取的数组,不会改变原数组

参数:slice(startIndex, endIndex)

注意:可从已有的数组中返回选定的元素。该方法接收两个参数slice(start,end)stsrt为必选,表示从第几位开始;end为可选,表示到第几位结束(不包含end位),省略表示到最后一位;start和end都可以为负数,负数时表示从最后一位开始算起,如-1表示最后一位。

var arr = ["T1","J1","L1","L2","M1"];console.log(arr.slice(1,3));        //["J1","L1"]console.log(arr.slice(1));          //["J1","L1","L2","M1"]console.log(arr.slice(-4,-1));      //["J1","L1","L2"]console.log(arr.slice(-2));         //["Lily","M1"]console.log(arr.slice(1,-2));       //["J1","L1"]console.log(arr);                   //["T1","J1","L1","L2","M1"]

10:splice();

功能:向数组中添加,或从数组删除,或替换数组中的元素,然后返回被删除/替换的元素。

参数:splice(start,num,data1,data2,...); 所有参数全部可选。

var arr = ["Tom","Jack","Lucy","Lily","May"];
console.log(arr.splice(2,0,"a","b"));//[]
console.log(arr);//["Tom", "Jack", "a", "b", "Lucy", "Lily", "May"]---原数组改变

11:toString();

功能:将数组转换成字符串,类似于没有参数的join()。该方法会在数据发生隐式类型转换时被自动调用,如果手动调用,就是直接转为字符串。不会改变原数组

var str = [1,2,3];
console.log(str.toString()); //1,2,3
console.log(str);//[1,2,3]

12:valueOf();

功能:返回数组的原始值(一般情况下其实就是数组自身),一般由js在后台调用,并不显式的出现在代码中

var str = [1,2,3];
console.log(str.valueOf()); //[1,2,3]
console.log(str); //[1,2,3]
//为了证明返回的是数组自身
console.log(str.valueOf() == str);//true

13:IndexOf();

功能:根据指定的数据,从左向右,查询在数组中出现的位置,如果不存在指定的数据,返回-1,找到了指定的数据返回该数据的索引

参数:indexOf(value, start);value为要查询的数据;start为可选,表示开始查询的位置,当start为负数时,从数组的尾部向前数;如果查询不到value的存在,则方法返回-1

注意:如果找到该数据,立即返回该数据的索引,不再往后继续查找

var str = ["h","e","l","l","o"];console.log(str.indexOf("l"));        //2console.log(str.indexOf("l",3));      //3console.log(str.indexOf("l",4));      //-1console.log(str.indexOf("l",-1));     //-1console.log(str.indexOf("l",-3));     //2

14:lastIndexOf();

功能:lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索

参数:lastIndexOf(value, start);value为要查询的数据;start为可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。

var str = ["h","e","l","l","o"];
console.log(str.lastIndexOf("l"));        //3
console.log(str.lastIndexOf("l",3));      //3
console.log(str.lastIndexOf("l",4));      //3
console.log(str.lastIndexOf("l",-1));     //3
console.log(str.lastIndexOf("l",-3));     //2
  • 注意: 该方法将从后向前检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串。 开始检索的位置在字符串的 start 处或字符串的结尾(没有指定 start 时)。 如果没有找到匹配字符串则返回 -1 。
  • 注意:lastIndexOf() 方法是区分大小写的!

15:forEach();

功能:ES5新增的方法,用来遍历数组,没有返回值,

参数:forEach(callback);callback默认有三个参数,分别为value(遍历到的数组的数据),index(对应的索引),self(数组自身)。

var arr = ["Tom","Jack","Lucy","Lily","May"];
var a = arr.forEach(function(value,index,self){console.log(value + "--" + index + "--" + (arr === self));
})
// 打印结果为:
// Tom--0--true
// Jack--1--true
// Lucy--2--true
// Lily--3--true
// May--4--true
console.log(a);     //undefined---forEach没有返回值
//该方法为遍历方法,不会修改原数组

16:map();

功能:

同forEach功能;

map的回调函数会将执行结果返回,最后map将所有回调函数的返回值组成新数组返回。

  • 参数:map(callback);callback默认有三个参数,分别为value,index,self。跟上面的forEach()的参数一样
//功能1:同forEachvar arr = ["Tom","Jack","Lucy","Lily","May"];var a = arr.map(function(value,index,self){console.log(value + "--" + index + "--" + (arr === self))})// 打印结果为:// Tom--0--true// Jack--1--true// Lucy--2--true// Lily--3--true// May--4--true//功能2:每次回调函数的返回值被map组成新数组返回var arr = ["Tom","Jack","Lucy","Lily","May"];var a = arr.map(function(value,index,self){return "hi:"+value;})console.log(a);     //["hi:Tom", "hi:Jack", "hi:Lucy", "hi:Lily", "hi:May"]console.log(arr);   //["Tom", "Jack", "Lucy", "Lily", "May"]---原数组未改变

17:filter();

功能: 1.同forEach功能; 2.filter的回调函数需要返回布尔值,当为true时,将本次数组的数据返回给filter,最后filter将所有回调函数的返回值组成新数组返回(此功能可理解为“过滤”)

参数:filter(callback);callback默认有三个参数,分别为value,index,self。

//功能1:同forEachvar arr = ["Tom","Jack","Lucy","Lily","May"];var a = arr.filter(function(value,index,self){console.log(value + "--" + index + "--" + (arr === self))})// 打印结果为:// Tom--0--true// Jack--1--true// Lucy--2--true// Lily--3--true// May--4--true//功能2:当回调函数的返回值为true时,本次的数组值返回给filter,被filter组成新数组返回var arr = ["Tom","Jack","Lucy","Lily","May"];var a = arr.filter(function(value,index,self){return value.length > 3;})console.log(a);         //["Jack", "Lucy", "Lily"]console.log(arr);       //["Tom", "Jack", "Lucy", "Lily", "May"]---原数组未改变

18:every();

功能:判断数组中每一项是否都满足条件,只有所有项都满足条件,才会返回true

参数:every()接收一个回调函数作为参数,这个回调函数需要有返回值,every(callback);callback默认有三个参数,分别为value,index,self。

功能1:当回调函数的返回值为true时,类似于forEach的功能,遍历所有;如果为false,那么停止执行,后面的数据不再遍历,停在第一个返回false的位置

//demo1:var arr = ["Tom","abc","Jack","Lucy","Lily","May"];var a = arr.every(function(value,index,self){console.log(value + "--" + index + "--" + (arr == self))})// 打印结果为:// Tom--0--true//因为回调函数中没有return true,默认返回undefined,等同于返回false//demo2:var arr = ["Tom","abc","Jack","Lucy","Lily","May"];var a = arr.every(function(value,index,self){console.log(value + "--" + index + "--" + (arr == self))return value.length < 4;})// 打印结果为:// Tom--0--true// abc--1--true// Jack--2--true//因为当遍历到Jack时,回调函数到return返回false,此时Jack已经遍历,但是后面数据就不再被遍历了//demo3:var arr = ["Tom","abc","Jack","Lucy","Lily","May"];var a = arr.every(function(value,index,self){console.log(value + "--" + index + "--" + (arr == self))return true;})// 打印结果为:// Tom--0--true// abc--1--true// Jack--2--true// Lucy--3--true// Lily--4--true// May--5--true//因为每个回调函数的返回值都是true,那么会遍历数组所有数据,等同于forEach功能

功能2:当每个回调函数的返回值都为true时,every的返回值为true,只要有一个回调函数的返回值为false,every的返回值都为false

19:some();

功能:判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true

参数:some()接收一个回调函数作为参数,这个回调函数需要有返回值,some(callback);callback默认有三个参数,分别为value,index,self。

功能1:因为要判断数组中的每一项,只要有一个回调函数返回true,some都会返回true,所以与every正好相反,当遇到一个回调函数的返回值为true时,可以确定结果,那么停止执行,后面都数据不再遍历,停在第一个返回true的位置;当回调函数的返回值为false时,需要继续向后执行,到最后才能确定结果,所以会遍历所有数据,实现类似于forEach的功能,遍历所有。

//demo1:var arr = ["Tom","abc","Jack","Lucy","Lily","May"];var a = arr.some(function(value,index,self){console.log(value + "--" + index + "--" + (arr == self))return value.length > 3;})// 打印结果为:// Tom--0--true// abc--1--true// Jack--2--true//demo2:var arr = ["Tom","abc","Jack","Lucy","Lily","May"];var a = arr.some(function(value,index,self){console.log(value + "--" + index + "--" + (arr == self))return true;})// 打印结果为:// Tom--0--true//demo3:var arr = ["Tom","abc","Jack","Lucy","Lily","May"];var a = arr.some(function(value,index,self){console.log(value + "--" + index + "--" + (arr == self))return false;})// 打印结果为:// Tom--0--true// abc--1--true// Jack--2--true// Lucy--3--true// Lily--4--true// May--5--true

功能2:与every相反,只要有一个回调函数的返回值都为true,some的返回值为true,所有回调函数的返回值为false,some的返回值才为false

//demo1:var arr = ["Tom","abc","Jack","Lucy","Lily","May"];var a = arr.some(function(value,index,self){return value.length > 3;})console.log(a);             //true//demo2:var arr = ["Tom","abc","Jack","Lucy","Lily","May"];var a = arr.some(function(value,index,self){return value.length > 4;})console.log(a);             //false

20.reduce();

功能:从数组的第一项开始,逐个遍历到最后,迭代数组的所有项,然后构建一个最终返回的值

参数:reduce()接收一个或两个参数:第一个是回调函数,表示在数组的每一项上调用的函数;第二个参数(可选的)作为归并的初始值,被回调函数第一次执行时的第一个参数接收。 reduce(callback,initial);callback默认有四个参数,分别为prev,now,index,self。 callback返回的任何值都会作为下一次执行的第一个参数。 如果initial参数被省略,那么第一次迭代发生在数组的第二项上,因此callback的第一个参数是数组的第一项,第二个参数就是数组的第二项。

//demo1:不省略initial参数,回调函数没有返回值var arr = [10,20,30,40,50];arr.reduce(function(prev,now,index,self){console.log(prev + "--" + now + "--" + index + "--" + (arr == self))}, 2019)// 打印结果为:// 2019--10--0--true// undefined--20--1--true// undefined--30--2--true// undefined--40--3--true// undefined--50--4--true// 此时回调函数没有return,所以从第二次开始,prev拿到的是undefined//demo2:省略initial参数,回调函数没有返回值var arr = [10,20,30,40,50];arr.reduce(function(prev,now,index,self){console.log(prev + "--" + now + "--" + index + "--" + (arr == self))})// 打印结果为:第一次,回调函数的第一个参数是数组的第一项。第二个参数就是数组的第二项// 10--20--1--true// undefined--30--2--true// undefined--40--3--true// undefined--50--4--true// 此时回调函数没有return,所以从第二次开始,prev拿到的是undefined//demo3:不省略initial参数,回调函数有返回值var arr = [10,20,30,40,50];arr.reduce(function(prev,now,index,self){console.log(prev + "--" + now + "--" + index + "--" + (arr == self));return "hello";}, 2019)// 打印结果为:// 2019--10--0--true// hello--20--1--true// hello--30--2--true// hello--40--3--true// hello--50--4--true// 此时回调函数有return,所以从第二次开始,prev拿到的是回调函数return的值//demo4:省略initial参数,回调函数有返回值var arr = [10,20,30,40,50];arr.reduce(function(prev,now,index,self){console.log(prev + "--" + now + "--" + index + "--" + (arr == self));return "hello";})// 打印结果为:第一次,回调函数的第一个参数是数组的第一项。第二个参数就是数组的第二项// 10--20--1--true// hello--30--2--true// hello--40--3--true// hello--50--4--true// 此时回调函数有return,所以从第二次开始,prev拿到的是回调函数return的值//demo5:使用reduce计算数组中所有数据的和var arr = [10,20,30,40,50];var sum = arr.reduce(function(prev,now,index,self){return prev + now;})console.log(sum);      //150// 回调函数的最后一次return的结果被返回到reduce方法的身上//demo6:使用reduce计算数组中所有数据的和var arr = [10,20,30,40,50];var sum = arr.reduce(function(prev,now,index,self){return prev + now;}, 8)console.log(sum);      //158// 回调函数的最后一次return的结果被返回到reduce方法的身上// 因为reduce有第二个参数initial,在第一次执行时被计算,所以最终结果被加上8

21.reduceRight()

功能:(与reduce类似)从数组的最后一项开始,向前逐个遍历到第一位,迭代数组的所有项,然后构建一个最终返回的值。

参数:同reduce。 demo:同reduce

三:哪些数组方法会改变原数组

unshift();

push();

shift();

pop();

sort();

reverse();

splice();

这七个数组方法在上面都有过介绍了,可以看出,再用这些方法的时候,原数组是会被改变的。

参考文章

详解21个JavaScript数组方法(整理)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551224.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css如何插入动态图,css动态图(作业)

loading动画.box{width: 300px;height: 135px;border: 2px solid #000;margin: 200px auto 0;}.box p{text-align: center;width: 100%;}.box div{width: 30px;height: 70px;float: left;background-color: gold;margin: 15px;border-radius: 10px;}.box div:nth-child(1){back…

in ms sql 集合参数传递_mybatis从入门到精通,第三篇《动态SQL》,干货满满

动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架&#xff0c;你应该能理解根据不同条件拼接 SQL 语句有多痛苦&#xff0c;例如拼接时要确保不能忘记添加必要的空格&#xff0c;还要注意去掉列表最后一个列名的逗号。利用动态 SQL&#xff0c;可以彻底…

保存图像_06 - matplotlib中应知应会numpy存储、交换图像

matplotlib中应知应会numpy存储、交换图像numpy的ndarray是mpl官方推荐的输入数据结构mpl官方推荐绘图时&#xff0c;应以numpy的ndarray数据结构输入数据。虽然有时用pandas中的两个数据结构、python的list等数据结构也可以&#xff0c;但不能保证都能成功。这是因为numpy的nd…

css设置按钮竖直方向居中_如何借助伪元素实现垂直居中?

点击右上方红色按钮关注“小郑搞码事”&#xff0c;每天都能学到知识&#xff0c;搞懂一个问题&#xff01;今天给大家讲一种实现垂直居中的方法&#xff1a;伪元素法(::before/::after)一、vertical-align实现了什么&#xff1f;先来看一下vertical-align实现了什么&#xff0…

ajax和fetch哪个好,axios和ajax,fetch的区别

1&#xff0c;传统 Ajax 指的是 XMLHttpRequest(XHR)&#xff0c; 最早出现的发送后端请求技术&#xff0c;隶属于原始js中&#xff0c;核心使用XMLHttpRequest对象&#xff0c;多个请求之间如果有先后关系的话&#xff0c;就会出现回调地狱。JQuery ajax 是对原生XHR的封装&am…

九年级数学解方程50道_【初中数学】北师大版九年级上册数学知识点总结

这里整理了一份【初中数学】北师大版九年级上册数学知识点总结其他版本的总结后面会更新资料有点多&#xff0c;建议先收藏完整版资料下载可搜【初中复习资料】回复【399】&#xff08;资料整理不易&#xff0c;可以收藏-转发支持一下吗&#xff09;资料有点多&#xff0c;建议…

按钮传值给ajax,用jquery和ajax实现分页时,按钮怎么给jquery传值?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼function changepage(page){$.post("pages.php",{page:page},function(data){$("#pagetable").html(data);})}$(document).ready(function(){changepage(1);$("#firstpage").click(function(){chang…

小米9私密相册怎么找_“拼藏搜”,手机相册还能这么玩

发朋友圈九图不够看&#xff1f;私密照片不想被轻易看到&#xff1f;照片太多找半天太麻烦&#xff1f;别着急&#xff0c;学会这几招&#xff0c;成为“制片人”。第一招&#xff1a;“拼”成为“制片人”的第一步&#xff0c;当然是制作照片了&#xff01;拼出有feel的图就靠…

路由虚拟端口配置dhcp服务器,交换机和路由器DHCP设置中的端口配置

在利用交换机和路由器进行DHCP的设置的时候&#xff0c;端口的配置是非常重要的。这里我们就来针对这个情况进行一下实例讲解。网络环境&#xff1a;一台3550EMI交换机&#xff0c;划分三个vlan,vlan2 为服务器所在网络&#xff0c;命名为server,IP地址段为192.168.2.0,子网掩码…

idea python工程zip打包_【面试划重点】-- Python常见知识点

分享工作中遇到的python知识点&#xff0c;估计很多人没太留意过这个知识点&#xff0c;但是对巩固很多基本语法和一些python中一些有用的方法很有帮助&#xff0c;工作中的问题我简化说下&#xff0c;大概就是下面需求&#xff1a;有3个python列表&#xff1a;分别是年龄&…

微软codepush搭建服务器,通过 CodePush API 参考对本机 SDK 作出响应 - Visual Studio App Center | Microsoft Docs...

响应 Native Client SDK API 参考02/19/2020本文内容CodePush 插件由以下两个组件组成&#xff1a;可以导入/要求的 JavaScript 模块&#xff0c;并允许应用在运行时与服务交互 (例如&#xff0c;检查更新、检查有关当前正在运行的应用更新) 的元数据。本机 API (目标-C 和 Jav…

如何固定最小宽度_如何使用更新的HTML和CSS函数创建响应式设计

除了使用媒体查询和现代css布局(如flexbox和grid)来创建响应式网站外&#xff0c;我们还可以做好某些被忽视的事情来制作响应式网站。在本文中&#xff0c;我们将探讨许多可用的工具(围绕html和css)&#xff0c;从响应图像到相对较新的CSS函数&#xff0c;无论我们是否使用媒体…

查找服务器大文件内容,Linux查找大文件命令,springmvc基础面试题

1、查询服务器中大于1G的文件find / -type f -size 1G查询结果如下&#xff1a;[rootlocalhost ~]# find / -type f -size 1G/var/lib/mysql/darkindustry/tbl_jm_account.ibd/var/lib/mysql/tase1/key_timing_3.ibd/var/lib/mysql/tase1/news_info_bak_1.MYD/var/lib/mysql/my…

vue 微信公众号支付接口_vue实现微信公众号支付DEMO

预备工作连接电源打开你的电脑打开你的vscode获取appidnpm install weixin-js-sdk开撸在你的支付按钮上添加一个事件、代码为&#xff1a;var url https://open.weixin.qq.com/connect/oauth2/authorize?appid输入你的appid&redirect_urihttp://tdjl.kurongdashi.com?pa…

如何将文件二进制传输至aix服务器,有什么办法把文件从WINDOWS系统中传到AIX中?...

有什么办法把文件从WINDOWS系统中传到AIX中&#xff1f;(2011-12-21 04:19:38)标签&#xff1a;杂谈有什么办法把文件从WINDOWS系统中传到AIX中&#xff1f;我有一台笔记本可以远程登陆170和F85&#xff0c;两台都是AIXV5.2&#xff0c;原来ML是04&#xff0c;想升级&#xff0…

小米手机硬改技术_小米11手机爆料:首发骁龙875 或采用屏下摄像头技术

12月1日高通应该就要公布骁龙875处理器&#xff0c;而对于这颗2021年的旗舰芯片&#xff0c;小米手机必然要抢首发&#xff0c;这也是他们一贯的传统。据最新消息称&#xff0c;小米11手机有望首发骁龙875处理器&#xff0c;不过这款手机预计要在明年3月份左右推出&#xff0c;…

小企业文件打印服务器,小企业云服务器方案

小企业云服务器方案 内容精选换一换在“确认配置”页面&#xff0c;查看云服务器配置详情。如果您对价格有疑问&#xff0c;可以单击“了解计费详情”来了解产品价格。如果您对价格有疑问&#xff0c;可以单击“了解计费详情”来了解产品价格。企业项目该参数针对企业用户使用。…

linux安装python27_linux下安装python27 nginx 和uwsgi

注意&#xff1a;python27 默认没有安装 pip 和setuptools所以要提前安装。(务必先提前安装python27 哈 )wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.pypython ez_setup.py--insecurewget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486…

太太丘舍去_过中不至,太丘舍去,去后乃至的意思

展开全部过了正午朋友还没有到&#xff0c;陈太丘不再等候他而离开了&#xff0c;陈太丘离开后朋友才到。原文出自e69da5e6ba903231313335323631343130323136353331333433643131《陈太丘与友期行》南北朝刘义庆陈太丘与友期行&#xff0c;期日中。过中不至&#xff0c;太丘舍去…

5怎么选国外节点_外卖包装怎么选?这5个技巧要掌握

(↑点上图“知识卡片”&#xff0c;按右上角箭头&#xff0c;可分享至朋友圈保存↑)在这个重颜值的时代&#xff0c;消费者对于外卖包装的诉求在逐渐提高&#xff0c;在餐品质量差异不大的前提下&#xff0c;那些包装好的商品&#xff0c;更具市场竞争力&#xff0c;能加深消费…