面试问题
最近我被要求在任何逻辑中编写一个程序来将元素添加到数组
$arr = array(1,2,3,4,5,7,8,9,10);
现在我们需要在6
之后添加5
。
条件是:
1)我们无法使用temp variable
和new array
来存储。
2)不能使用in-build功能。
答案 0 :(得分:0)
无法修改数组的大小。如果你想要一个更大的数组,你必须实例化一个新数组。
更好的解决方案是使用可以根据需要增长的ArrayList。方法ArrayList.toArray(T [] a)如果你需要这个表单,它会为你提供数组。
答案 1 :(得分:0)
您可以使用现有数组并为其指定值。
getConnect(ipaddress,portnumber){
console.log('coming');
var t = ipaddress;
var p = portnumber;
console.log(t,p);
client = new linear.client({transports: [
{type: 'websocket',
host: t, port: p}
]});
client.connect();
this.getStatusFromMcx();
var osbervable = Rx.Observable.create (function (obs) {
// Handle messages
client.transport.onopen = obs.onOpen.bind(obs);
client.onnotify = obs.onNext.bind(obs);
client.onerror = obs.onError.bind(obs);
client.transport.onclose = obs.onCompleted.bind(obs);
// Return way to unsubscribe
return client.ondisconnect.bind(client);
});
这将创建一个索引,并且值将成为数组的一部分。
答案 2 :(得分:0)
a = [' a',' b',' c',' d'];
a [a.length] =' e'
// a现在是[" a"," b"," c"," d"," e& #34;]
要做后者,合并数组,没有一个函数,你只需循环通过数组,应该选择最大的循环。但是,正如评论所述。这通常不是一个很好的理由。
答案 3 :(得分:0)
$arr = array(1,2,3,4,5,7,8,9,10);
foreach($arr as $k=>$v){
if($v == 5){
$arr[$k] = $v;
$arr[$k+1]=6;
}elseif($v > 5){
$arr[$k+1]=$v;
}else{
$arr[$k] = $v;
}
}
print_r($arr);